public List <StructPos> ComputeRobotMvt() { List <StructPos> Ret = null; int AngleStep = 10; int DistStep = 10; int Count = 0; int Sign = 1; switch (_CurrentCommand.Cmd) { // ________________________________________ case EnumCmd.Mvt_UseAngleOnly: case EnumCmd.MvtSimple_RotateInDeg: case EnumCmd.MvtSimple_RotateToAngleInDeg: Count = Math.Abs(Convert.ToInt32((_ComputedPosAngle - _PosAngle) / AngleStep)); if (_ComputedPosAngle - _PosAngle < 0) { Sign = -1; } else { Sign = 1; } Ret = new List <StructPos>(); for (int i = 0; i < Count; i++) { StructPos RobotPosition = new StructPos(); RobotPosition.x = _ComputedPosX; RobotPosition.y = _ComputedPosY; RobotPosition.angle = _ComputedPosAngle + i * AngleStep * Sign; Ret.Add(RobotPosition); } break; // ________________________________________ case EnumCmd.Mvt_UseDistOnly: case EnumCmd.MvtSimple_MoveInMM: break; // ________________________________________ case EnumCmd.Mvt_UseMixedMode: case EnumCmd.Mvt_UsePivotMode: case EnumCmd.Mvt_UseSpline: break; // ________________________________________ default: break; } return(Ret); }
public List<StructPos> ComputeRobotMvt() { List<StructPos> Ret = null; int AngleStep = 10; int DistStep = 10; int Count = 0; int Sign = 1; switch (_CurrentCommand.Cmd) { // ________________________________________ case EnumCmd.Mvt_UseAngleOnly: case EnumCmd.MvtSimple_RotateInDeg: case EnumCmd.MvtSimple_RotateToAngleInDeg: Count = Math.Abs(Convert.ToInt32((_ComputedPosAngle - _PosAngle) / AngleStep)); if (_ComputedPosAngle - _PosAngle < 0) Sign = -1; else Sign = 1; Ret = new List<StructPos>(); for (int i = 0; i < Count; i++) { StructPos RobotPosition = new StructPos(); RobotPosition.x = _ComputedPosX; RobotPosition.y = _ComputedPosY; RobotPosition.angle = _ComputedPosAngle + i * AngleStep * Sign; Ret.Add(RobotPosition); } break; // ________________________________________ case EnumCmd.Mvt_UseDistOnly: case EnumCmd.MvtSimple_MoveInMM: break; // ________________________________________ case EnumCmd.Mvt_UseMixedMode: case EnumCmd.Mvt_UsePivotMode: case EnumCmd.Mvt_UseSpline: break; // ________________________________________ default: break; } return Ret; }