From 1fe3e8a8735803bb16d3e5dbe54368785e8ff305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toan=20Tr=E1=BA=A7n?= Date: Sun, 19 Mar 2017 00:58:15 +0700 Subject: [PATCH] RM2063 : Update source --- sources/RoboforkApp/Controls/DesignerCanvas.cs | 12 +++++++++--- sources/RoboforkApp/Controls/ScheduleCanvas.cs | 20 +++++++++++++------- sources/RoboforkApp/DataModel/ListNodeInfo.cs | 2 +- sources/RoboforkApp/DataModel/NodeInfo_tmp.cs | 2 +- sources/RoboforkApp/DataModel/Node_tmp.cs | 2 +- sources/RoboforkApp/DataModel/PointMap.cs | 2 +- sources/RoboforkApp/DataModel/VehicleModel.cs | 2 +- sources/RoboforkApp/DataModel/VehicleModelList.cs | 2 +- sources/RoboforkApp/RoboforkMenuView.xaml.cs | 2 +- 9 files changed, 29 insertions(+), 17 deletions(-) diff --git a/sources/RoboforkApp/Controls/DesignerCanvas.cs b/sources/RoboforkApp/Controls/DesignerCanvas.cs index ddc28e7..9a18a13 100644 --- a/sources/RoboforkApp/Controls/DesignerCanvas.cs +++ b/sources/RoboforkApp/Controls/DesignerCanvas.cs @@ -76,7 +76,7 @@ namespace RoboforkApp //Add variable for Vehicle Item click public string VehicleItem = "FK_15"; - VehicleModel VehicleModel = new VehicleModel(); + public VehicleModel VehicleModel = new VehicleModel(); public int VehicleIndex = 0; public string ColorNode_Add = "Blue"; public string ColorNode_Insert = "Brown"; @@ -2785,6 +2785,12 @@ namespace RoboforkApp gGrpScheduleNode.Children.Clear(); gGrpScheduleLine.Children.Clear(); + + //Remove existed simulation + if(scheduleCanvas.simulation !=null) + { + scheduleCanvas.Children.Remove(scheduleCanvas.simulation); + } List distance = new List(); @@ -3044,7 +3050,7 @@ namespace RoboforkApp node = ellipseGeometry.Center; pMap.pointSchedule_X = node.X; pMap.pointSchedule_Y = node.Y; - pMap.speed_Schedule = 0; + pMap.speed_Schedule = 0.2; //Hard code //Node info foreach (ListNodeInfo temp in Lst_Node_tmp[i].NodeInfo_tmp) @@ -3102,7 +3108,7 @@ namespace RoboforkApp node = ellipseGeometry.Center; pMap.pointSchedule_X = node.X; pMap.pointSchedule_Y = node.Y; - pMap.speed_Schedule = 0; + pMap.speed_Schedule = 0.2; //Hard code VehicleModelList.pointMapList.Add(pMap); } diff --git a/sources/RoboforkApp/Controls/ScheduleCanvas.cs b/sources/RoboforkApp/Controls/ScheduleCanvas.cs index 1e0df40..6b0a592 100644 --- a/sources/RoboforkApp/Controls/ScheduleCanvas.cs +++ b/sources/RoboforkApp/Controls/ScheduleCanvas.cs @@ -1,4 +1,5 @@ -using System; +using RoboforkApp.DataModel; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -15,11 +16,12 @@ namespace RoboforkApp { const double COOR_Y = 65; const double RADIUS_NODE = 25; - private simulationRobo simulation; + public simulationRobo simulation; + private VehicleModelList vehicleModelList; private Point startPoint; private Point endPoint; private bool _isGoal = false; - private double _speed = 0.2; //Now _speed is fixed, but when update node + private double _speed; private int index; private List _lstNode; @@ -27,8 +29,10 @@ namespace RoboforkApp /// /// Create simulation /// - /// - public void CreateSimulation(List lstNode) + /// List node on schedule + /// Vehicle model on map + /// Current index of vehicle + public void CreateSimulation(List lstNode, VehicleModel vehicleModel, int vehicleIndex) { //If node is less than 2 so return if (this.Children.Count < 2) @@ -40,8 +44,10 @@ namespace RoboforkApp //Init data this._lstNode = lstNode; + this.vehicleModelList = vehicleModel.VehicleModelList[vehicleIndex]; this.startPoint = new Point(Canvas.GetLeft(_lstNode[index]) + RADIUS_NODE, COOR_Y); this.endPoint = new Point(Canvas.GetLeft(_lstNode[index + 1]) + RADIUS_NODE, COOR_Y); + this._speed = vehicleModelList.pointMapList[index].speed_Schedule; this.index += 1; if (index == _lstNode.Count - 1) { @@ -113,6 +119,7 @@ namespace RoboforkApp // If not end node if (!isGoal) { + this._speed = vehicleModelList.pointMapList[index].speed_Schedule; this.index += 1; this.Children.Remove(simulation); this.startPoint = endPoint; @@ -122,14 +129,13 @@ namespace RoboforkApp { this._isGoal = true; } - this._speed += 0.2; RoboSimulation(); return; } // Reset data when finish this.index = 0; - this._speed = 0.2; + this._speed = 0; this._isGoal = false; } } diff --git a/sources/RoboforkApp/DataModel/ListNodeInfo.cs b/sources/RoboforkApp/DataModel/ListNodeInfo.cs index 3d13b5c..13af67e 100644 --- a/sources/RoboforkApp/DataModel/ListNodeInfo.cs +++ b/sources/RoboforkApp/DataModel/ListNodeInfo.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace RoboforkApp.DataModel { - class ListNodeInfo + public class ListNodeInfo { public string Mode { get; set; } public double Speed { get; set; } diff --git a/sources/RoboforkApp/DataModel/NodeInfo_tmp.cs b/sources/RoboforkApp/DataModel/NodeInfo_tmp.cs index 93e9374..1d4288c 100644 --- a/sources/RoboforkApp/DataModel/NodeInfo_tmp.cs +++ b/sources/RoboforkApp/DataModel/NodeInfo_tmp.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace RoboforkApp.DataModel { - class NodeInfo_tmp + public class NodeInfo_tmp { public string Mode { get; set; } public double Speed { get; set; } diff --git a/sources/RoboforkApp/DataModel/Node_tmp.cs b/sources/RoboforkApp/DataModel/Node_tmp.cs index 3fc7c27..7505a95 100644 --- a/sources/RoboforkApp/DataModel/Node_tmp.cs +++ b/sources/RoboforkApp/DataModel/Node_tmp.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace RoboforkApp.DataModel { - class Node_tmp + public class Node_tmp { public double pointMap_X { get; set; } public double pointMap_Y { get; set; } diff --git a/sources/RoboforkApp/DataModel/PointMap.cs b/sources/RoboforkApp/DataModel/PointMap.cs index 10aab61..4feba24 100644 --- a/sources/RoboforkApp/DataModel/PointMap.cs +++ b/sources/RoboforkApp/DataModel/PointMap.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace RoboforkApp.DataModel { - class PointMap : ListNodeInfo + public class PointMap : ListNodeInfo { public double pointMap_X { get; set; } public double pointMap_Y { get; set; } diff --git a/sources/RoboforkApp/DataModel/VehicleModel.cs b/sources/RoboforkApp/DataModel/VehicleModel.cs index 4874d67..23d6e14 100644 --- a/sources/RoboforkApp/DataModel/VehicleModel.cs +++ b/sources/RoboforkApp/DataModel/VehicleModel.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace RoboforkApp.DataModel { - class VehicleModel : VehicleModelList + public class VehicleModel : VehicleModelList { public List VehicleModelList = new List(); } diff --git a/sources/RoboforkApp/DataModel/VehicleModelList.cs b/sources/RoboforkApp/DataModel/VehicleModelList.cs index 52d4369..ac2f6d3 100644 --- a/sources/RoboforkApp/DataModel/VehicleModelList.cs +++ b/sources/RoboforkApp/DataModel/VehicleModelList.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace RoboforkApp.DataModel { - class VehicleModelList : PointMap + public class VehicleModelList : PointMap { public string VehicleName { get; set; } public List pointMapList = new List(); diff --git a/sources/RoboforkApp/RoboforkMenuView.xaml.cs b/sources/RoboforkApp/RoboforkMenuView.xaml.cs index 84f87cc..84ea413 100644 --- a/sources/RoboforkApp/RoboforkMenuView.xaml.cs +++ b/sources/RoboforkApp/RoboforkMenuView.xaml.cs @@ -148,7 +148,7 @@ namespace RoboforkApp private void DoBeginTask() { - MyScheduleCanvas.CreateSimulation(MyDesignerCanvas.ucScheduleNode_Lst); + MyScheduleCanvas.CreateSimulation(MyDesignerCanvas.ucScheduleNode_Lst, MyDesignerCanvas.VehicleModel, MyDesignerCanvas.VehicleIndex); } private void DoBeginSetAutoNotes() -- 1.8.5.3