static void Main(string[] args) { Coordonnees coordonnees = new Coordonnees(1, 1); Polygon polygon = new Polygon(coordonnees, Colors.Black, Colors.Black, 1); polygon.Coordonnees.Add(new Coordonnees(2, 4)); polygon.Coordonnees.Add(new Coordonnees(5, 3)); polygon.Coordonnees.Add(new Coordonnees(6, 1)); Console.WriteLine(polygon.ToString()); Console.WriteLine("Le point est il proche selon la precision : {0}", polygon.IsPointClose(new Coordonnees(3, 1), 1)); Console.WriteLine("Le point est il proche selon la precision : {0}", polygon.IsPointClose(new Coordonnees(8, 3), 1)); Console.WriteLine("Nombre de point du polygon : {0}", polygon.NbPoints); POI poi = new POI(); Polygon polygon1 = new Polygon(new Coordonnees(2, 2), Colors.Black, Colors.Black, 1); Polygon polygon2 = new Polygon(); Polyline polyline1 = new Polyline(null, Colors.Black, 1); Polyline polyline2 = new Polyline(); polygon2.Coordonnees.Add(new Coordonnees(2, 4)); polygon2.Coordonnees.Add(new Coordonnees(5, 3)); polygon2.Coordonnees.Add(new Coordonnees(6, 1)); polyline2.Coordonnees.Add(new Coordonnees(0, 0)); polyline2.Coordonnees.Add(new Coordonnees(0, 1)); polyline2.Coordonnees.Add(new Coordonnees(1, 1)); polyline2.Coordonnees.Add(new Coordonnees(1, 0)); polyline1.Coordonnees.Add(new Coordonnees(10, 0)); polyline1.Coordonnees.Add(new Coordonnees(8, 8)); polyline1.Coordonnees.Add(new Coordonnees(10, 10)); Console.WriteLine("\n\n polygon 1 : "); Console.WriteLine(polygon1.ToString()); Console.WriteLine("\n\n polygon 2 : "); Console.WriteLine(polygon2.ToString()); Console.WriteLine("\n\n polyline 1 : "); Console.WriteLine(polyline1.ToString()); Console.WriteLine("\n\n polyline 2 : "); Console.WriteLine(polyline2.ToString()); Console.WriteLine("Le point est il proche selon la precision : {0}", polygon2.IsPointClose(new Coordonnees(1, 5), 1)); Console.WriteLine("Le point est il proche selon la precision : {0}", polygon2.IsPointClose(new Coordonnees(5, 1), 1)); List <CartoObj> ListCart = new List <CartoObj> { polyline1, polyline2, polygon2, new Coordonnees(), polygon1, poi }; Console.WriteLine("\n\n\n-- Liste de CartoObj --"); foreach (CartoObj cart in ListCart) { Console.WriteLine(cart.ToString()); } List <IPointy> IP = new List <IPointy> { polygon1, polyline2, polygon2, polyline1 }; Console.WriteLine("\n\n\n-- Liste de IPointy --"); foreach (IPointy ip in IP) { Console.WriteLine(ip.ToString()); } List <Polyline> t = new List <Polyline> { polyline1, polyline2 }; Console.WriteLine("\n\n\n-- Liste de Polyline avant sort --"); foreach (CartoObj cart in t) { Console.WriteLine(cart.ToString()); } t.Sort(); Console.WriteLine("\n\n\n-- Liste de Polyline apres sort --"); foreach (CartoObj cart in t) { Console.WriteLine(cart.ToString()); } MyPolylineBoundingBoxComparer mpoly = new MyPolylineBoundingBoxComparer(); Console.WriteLine("\n\n\n-- Tri par la longueur du bounding --"); t.Sort(mpoly); foreach (Polyline cart in t) { Console.WriteLine(cart.ToString()); } Console.WriteLine("\n\n\n-- Find --"); Console.WriteLine(t.Find(x => x.CalculLongueur() == 0)); Console.WriteLine("\n\n\n-- FindAll --"); List <Polyline> poly = t.FindAll(x => x.CalculLongueur() == 3); Affiche(poly); Console.WriteLine("\n\n\n-- FindAll ISPointClose --"); poly = t.FindAll(x => x.IsPointClose(new Coordonnees(1, 0.5), 1)); Affiche(poly); Console.WriteLine("\n\n\n-- Compare CartoObj --"); Console.WriteLine("\n-- UnSort --"); CartoComparer carte = new CartoComparer(); foreach (CartoObj obj in ListCart) { Console.WriteLine(obj.ToString()); Console.WriteLine("----------------------------------------------------------"); } Console.WriteLine("\n\n-- Sort --"); ListCart.Sort(carte); foreach (CartoObj obj in ListCart) { Console.WriteLine(obj.ToString()); Console.WriteLine("----------------------------------------------------------"); } Console.ReadKey(); }
static void Main(string[] args) { List <CartoObj> liste = new List <CartoObj>(); Coordonnees c1 = new Coordonnees(); liste.Add(c1); Coordonnees c2 = new Coordonnees(10, 20); liste.Add(c2); POI p1 = new POI(); liste.Add(p1); POI p2 = new POI("test", 20, 30); liste.Add(p2); List <Coordonnees> l = new List <Coordonnees>(); l.Add(new Coordonnees(0, 1)); l.Add(new POI("lol", 0, 3)); l.Add(new Coordonnees(3, 4)); Polyline pl1 = new Polyline(); liste.Add(pl1); Polyline pl2 = new Polyline(l, 3, Colors.AliceBlue); liste.Add(pl2); Polygon pol1 = new Polygon(); liste.Add(pol1); Polygon pol2 = new Polygon(l, 2, Colors.ForestGreen, Colors.Aqua); liste.Add(pol2); foreach (CartoObj obj in liste) { if (obj is IPointy) { Console.WriteLine("Ipointy -- "); } else { Console.WriteLine("Not Ipointy --"); } Console.WriteLine(obj); Console.WriteLine("\n"); } List <Polyline> poListe = new List <Polyline>(); poListe.Add(pl1); poListe.Add(pl2); Polyline pl3 = new Polyline(); pl3.Coordonnees.Add(new Coordonnees(0, 5)); poListe.Add(pl3); Polyline pl4 = new Polyline(); pl4.Coordonnees.Add(new POI("lol", 0, 5)); poListe.Add(new Polyline()); poListe.Add(new Polyline()); poListe.Sort(); foreach (Polyline p in poListe) { Console.WriteLine(p); } PolylineComparer pc = new PolylineComparer(); poListe.Sort(pc); Console.WriteLine("+++++++++++++"); foreach (Polyline p in poListe) { Console.WriteLine(p); } Console.WriteLine("+++++++++++++"); Console.WriteLine( poListe.Find(x => x.NbPoints == 1) ); Console.WriteLine( poListe.FindAll(x => x.NbPoints == 1) ); DisplayCartoObjCollection( poListe.FindAll(x => x.IsPointClose(new Coordonnees(0, 0), 1)) ); Console.WriteLine("--------------- "); CartoComparer cc = new CartoComparer(); poListe.Sort(cc); DisplayCartoObjCollection(poListe); Console.ReadKey(); }