示例#1
0
 private void SetTransportMotorAndRoute(StraightTransportSection carTransport, Motor.Directions direction, Route next, TransferCarJob.PickDropInfo.PickDropTypes jobType, ActionPoint leaving)
 {
     if (direction == Motor.Directions.Forward)
     {
         if (carTransport.Route.Motor.Direction != direction)
         {
             carTransport.Route.Motor.SwitchDirection();
         }
         if (next.Motor.Direction != direction)
         {
             next.Motor.SwitchDirection();
         }
         if (jobType == TransferCarJob.PickDropInfo.PickDropTypes.Drop)
         {
             carTransport.Route.NextRoute = next;
         }
         else
         {
             next.NextRoute = carTransport.Route;
         }
         leaving.Distance = carTransport.Length;
         carTransport.Route.Motor.Start();
     }
     else
     {
         if (carTransport.Route.Motor.Direction != direction)
         {
             carTransport.Route.Motor.SwitchDirection();
         }
         if (next.Motor.Direction != direction)
         {
             next.Motor.SwitchDirection();
         }
         if (jobType == TransferCarJob.PickDropInfo.PickDropTypes.Drop)
         {
             carTransport.Route.PreviousRoute = next;
         }
         else
         {
             next.PreviousRoute = carTransport.Route;
         }
         leaving.Distance = 0;
         carTransport.Route.Motor.Start();
     }
 }
示例#2
0
 private void SetTransportLocalYaw(StraightTransportSection carTransport, TransferCarSide side, Motor.Directions direction, TransferCarJob.PickDropInfo.PickDropTypes jobType)
 {
     if (jobType == TransferCarJob.PickDropInfo.PickDropTypes.Pick)
     {
         if (direction == Motor.Directions.Forward)
         {
             if (side == TransferCarSide.Right)
             {
                 carTransport.LocalYaw = (float)Math.PI / 2;
             }
             else
             {
                 carTransport.LocalYaw = -(float)Math.PI / 2;
             }
         }
         else
         {
             if (side == TransferCarSide.Right)
             {
                 carTransport.LocalYaw = -(float)Math.PI / 2;
             }
             else
             {
                 carTransport.LocalYaw = (float)Math.PI / 2;
             }
         }
     }
     else
     {
         if (direction == Motor.Directions.Forward)
         {
             if (side == TransferCarSide.Left)
             {
                 carTransport.LocalYaw = (float)Math.PI / 2;
             }
             else
             {
                 carTransport.LocalYaw = -(float)Math.PI / 2;
             }
         }
         else
         {
             if (side == TransferCarSide.Left)
             {
                 carTransport.LocalYaw = -(float)Math.PI / 2;
             }
             else
             {
                 carTransport.LocalYaw = (float)Math.PI / 2;
             }
         }
     }
 }