Пример #1
0
        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();
        }
Пример #2
0
        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();
        }