public void ValidateRobotTrajectory(RobotDescartesTrajectory robotTrajectory) { var robotValidationResult = new RobotValidationResult(); robotValidationResult.RobotId = robotTrajectory.RobotId; var trajectoryPoints = robotTrajectory.Trajectory; bool result = true; foreach (var trajectoryPoint in trajectoryPoints) { result = trajectoryPoint.X <= DescartesRobotFactory.Dimensions.Width && trajectoryPoint.Y <= DescartesRobotFactory.Dimensions.Height; if (!result) { robotValidationResult.ValidationMessage = "Trajectory coordinare are out of bounds"; break; } } robotValidationResult.ValidationResult = result; OperationContext operationContext = OperationContext.Current; IRobotTrajectoryValidationServiceCallback callback = operationContext.GetCallbackChannel <IRobotTrajectoryValidationServiceCallback>(); callback.RobotTrajectoryValidated(robotValidationResult); }
private void TrajectoryValidatedCallback(RobotValidationResult robotValidationResult) { OnTrajectoryValidated(new TrajectoryValidatedEventArguments(robotValidationResult.RobotId, robotValidationResult.ValidationResult, robotValidationResult.ValidationMessage)); if (robotValidationResult.ValidationResult) { SetupTrajectory(); } }
public void RobotTrajectoryValidated(RobotValidationResult robotValidation) { callback(robotValidation); }