public void UpdateListAffichage() { // Update Robots listAffichageArduino.Items.Clear(); //foreach (ArduinoBotIA Robot in _Follower.ListArduino) for (int i = 0; i < _Follower.ListArduino.Count; i++) { ArduinoBotIA Robot = _Follower.ListArduino[i]; if (_ArduinoManager != null) { ArduinoBotComm RobotComm = _ArduinoManager.getArduinoBotById(Robot.ID); ListViewItem master = new ListViewItem(Robot.ID + ""); if (RobotComm != null) { master.SubItems.Add(RobotComm.Connected + ""); master.SubItems.Add(RobotComm.stateComm + ""); } else { master.SubItems.Add("N/A"); master.SubItems.Add("N/A"); } master.SubItems.Add(Robot.LastAction + ""); master.SubItems.Add(Robot.Position.X + ""); master.SubItems.Add(Robot.Position.Y + ""); master.SubItems.Add(Robot.Angle + ""); listAffichageArduino.Items.Add(master); } } // Update Cubes listAffichageCubes.Items.Clear(); for (int i = 0; i < _Follower.TrackMaker.Cubes.Count; i++) { Objectif cube = _Follower.TrackMaker.Cubes[i]; ListViewItem master = new ListViewItem(cube.id + ""); master.SubItems.Add(cube.idZone + ""); master.SubItems.Add(cube.Done + ""); if (cube.Robot != null) { master.SubItems.Add(cube.Robot.ID + ""); } else { master.SubItems.Add("N/A"); } master.SubItems.Add(cube.position.X + ""); master.SubItems.Add(cube.position.Y + ""); listAffichageCubes.Items.Add(master); } // Update Zones listAffichageZones.Items.Clear(); for (int i = 0; i < _Follower.TrackMaker.ZonesDepose.Count; i++) { Zone zone = _Follower.TrackMaker.ZonesDepose[i]; ListViewItem master = new ListViewItem(zone.id + ""); master.SubItems.Add("A : " + zone.position.A.ToString() + " B : " + zone.position.B.ToString() + " C : " + zone.position.C.ToString() + " D : " + zone.position.D.ToString()); master.SubItems.Add(UtilsMath.CentreRectangle(zone.position).ToString()); listAffichageZones.Items.Add(master); } }
public void UpdateImageDebug() { if (_Follower.TrackMaker != null && _Follower.TrackMaker.ZoneTravail.B.X != 0) { List <PolyligneDessin> ListePoly = new List <PolyligneDessin>(); // Liste envoyé a l'image Bitmap bitmap = new Bitmap(_Follower.TrackMaker.ZoneTravail.B.X, _Follower.TrackMaker.ZoneTravail.B.Y); //dessinerTrack(bitmap, tr); // Dessiner Cubes // foreach (Objectif obstacle in _Follower.TrackMaker.Cubes) for (int i = 0; i < _Follower.TrackMaker.Cubes.Count; i++) { Objectif obstacle = _Follower.TrackMaker.Cubes[i]; PolyligneDessin p = new PolyligneDessin(Color.LimeGreen); for (int x = obstacle.position.X - 5; x <= obstacle.position.X + 5; x++) { for (int y = obstacle.position.Y - 5; y <= obstacle.position.Y + 5; y++) { p.addPoint(new PointDessin(x, y)); } } ListePoly.Add(p); dessinerPoint(bitmap, obstacle.position, Brushes.Gray); } foreach (QuadrillageCoord q in _Follower.TrackMaker.CreerAstarQuadriallage().CalculerQuadrillage()) { PolyligneDessin p = new PolyligneDessin(Color.Gray); p.addPoint(new PointDessin(q.A.X, q.A.Y)); p.addPoint(new PointDessin(q.B.X, q.B.Y)); ListePoly.Add(p); dessinerLigne(bitmap, q.A, q.B, Color.Gray, 1); } for (int i = 0; i < _Follower.TrackMaker.ZonesDepose.Count; i++) { Zone z = _Follower.TrackMaker.ZonesDepose[i]; PositionElement pos = UtilsMath.CentreRectangle(z.position); PolyligneDessin p = new PolyligneDessin(Color.Pink); for (int x = pos.X - 5; x <= pos.X + 5; x++) { for (int y = pos.Y - 5; y <= pos.Y + 5; y++) { p.addPoint(new PointDessin(x, y)); } } ListePoly.Add(p); dessinerPoint(bitmap, pos, Brushes.Pink); } for (int ab = 0; ab < _Follower.ListArduino.Count; ab++) //foreach (ArduinoBotIA robot in _Follower.ListArduino) { ArduinoBotIA robot = _Follower.ListArduino[ab]; PolyligneDessin p = new PolyligneDessin(Color.Purple); PositionElement pos = robot.Position; for (int x = pos.X - 5; x <= pos.X + 5; x++) { for (int y = pos.Y - 5; y <= pos.Y + 5; y++) { p.addPoint(new PointDessin(x, y)); } } ListePoly.Add(p); dessinerPoint(bitmap, pos, Brushes.Turquoise); if (robot.Trace != null) { dessinerTrack(bitmap, robot.Trace, _Follower.TrackMaker.CreerAstarQuadriallage()); PolyligneDessin p2 = new PolyligneDessin(Color.Red); for (int i = 0; i < robot.Trace.Positions.Count; i++) { p.addPoint(new PointDessin(robot.Trace.Positions[i].X, robot.Trace.Positions[i].Y)); } ListePoly.Add(p2); } } imageDebug.Image = bitmap; if (DrawPolylineEvent != null) { DrawPolylineEventArgs args = new DrawPolylineEventArgs(ListePoly); DrawPolylineEvent(this, args); } } }