Esempio n. 1
0
        public static GpcPolygon Intersection(EasyMap.Geometries.Point[] source, EasyMap.Geometries.Point[] dest)
        {
            GraphicsPath gp1 = new GraphicsPath();
            //source.ForEach(a => { gp1.AddPolygon(a.ToArray()); });
            GpcPolygon   polygonA = new GpcPolygon(source);
            GraphicsPath gp2      = new GraphicsPath();
            //dest.ForEach(a => { gp2.AddPolygon(a.ToArray()); });
            GpcPolygon polygonB = new GpcPolygon(dest);
            GpcPolygon polygon  = polygonA.Clip(GpcOperation.Intersection, polygonB);

            return(polygon);
        }
Esempio n. 2
0
        //public static bool PolygnIsIn(List<PointF> source, List<PointF> dest)
        //{
        //    GpcPolygon polygon = Intersection(source, dest);
        //    return PolygnIsIn(dest, polygon);
        //}

        public static GpcPolygon Intersection(List <List <PointF> > source, List <List <PointF> > dest)
        {
            GraphicsPath gp1 = new GraphicsPath();

            source.ForEach(a => { gp1.AddPolygon(a.ToArray()); });
            GpcPolygon   polygonA = new GpcPolygon(gp1);
            GraphicsPath gp2      = new GraphicsPath();

            dest.ForEach(a => { gp2.AddPolygon(a.ToArray()); });
            GpcPolygon polygonB = new GpcPolygon(gp2);
            GpcPolygon polygon  = polygonA.Clip(GpcOperation.Intersection, polygonB);

            return(polygon);
        }