Exemplo n.º 1
0
        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);
        }
        public void SetupRobotTrajectory(RobotDescartesTrajectory robotTrajectory)
        {
            OnTrajectorySet(new TrajectorySetEventArguments(robotTrajectory));

            OperationContext operationContext = OperationContext.Current;
            IRobotTrajectoryMonitoringServiceCallback callback = operationContext.GetCallbackChannel <IRobotTrajectoryMonitoringServiceCallback>();

            callback.RobotTrajectorySetCallback();
        }
Exemplo n.º 3
0
        internal void SetupRobotTrajectory(Guid robotId, string robotTitle, List <Point> trajectoryPoints)
        {
            if (InnerDuplexChannel.State != CommunicationState.Faulted)
            {
                var robotTrajectory = new RobotDescartesTrajectory();
                robotTrajectory.RobotId    = robotId;
                robotTrajectory.RobotTitle = robotTitle;
                robotTrajectory.Trajectory = trajectoryPoints;

                Channel.SetupRobotTrajectory(robotTrajectory);
            }
        }
        internal void ValidateTrajectory(Guid robotId, List <Point> trajectoryPoints)
        {
            if (InnerChannel.State != CommunicationState.Faulted)
            {
                var robotTrajectory = new RobotDescartesTrajectory();
                robotTrajectory.RobotId    = robotId;
                robotTrajectory.Trajectory = trajectoryPoints;

                Channel.ValidateRobotTrajectory(robotTrajectory);
            }
            else
            {
                MessageBox.Show(string.Format("Channel is in faulted state: {0}", Channel.ToString()), "Trajectroy validation error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
 public TrajectorySetEventArguments(RobotDescartesTrajectory robotDescartesTrajectory)
 {
     RobotDescartesTrajectory = robotDescartesTrajectory;
 }