コード例 #1
0
ファイル: GeometryOperator.cs プロジェクト: secondii/Yutai
        public static IGeometry Mirror(IGeometry igeometry_0, ILine iline_0)
        {
            IGeometry        geometry;
            IPointCollection igeometry0;
            object           value;
            int i;
            IPointCollection polylineClass = null;

            if (igeometry_0 is IPolyline)
            {
                polylineClass = new Polyline();
            }
            else if (!(igeometry_0 is IPolygon))
            {
                if (igeometry_0 is IMultipoint)
                {
                    polylineClass = new Multipoint();
                    igeometry0    = igeometry_0 as IPointCollection;
                    value         = Missing.Value;
                    for (i = 0; i < igeometry0.PointCount; i++)
                    {
                        polylineClass.AddPoint(GeometryOperator.Mirror(igeometry0.Point[i], iline_0), ref value,
                                               ref value);
                    }
                    geometry = polylineClass as IGeometry;
                    return(geometry);
                }
                if (!(igeometry_0 is IPoint))
                {
                    geometry = null;
                    return(geometry);
                }
                else
                {
                    geometry = GeometryOperator.Mirror(igeometry_0 as IPoint, iline_0);
                    return(geometry);
                }
            }
            else
            {
                polylineClass = new Polygon();
            }
            igeometry0 = igeometry_0 as IPointCollection;
            value      = Missing.Value;
            for (i = 0; i < igeometry0.PointCount; i++)
            {
                polylineClass.AddPoint(GeometryOperator.Mirror(igeometry0.Point[i], iline_0), ref value, ref value);
            }
            geometry = polylineClass as IGeometry;
            return(geometry);
        }
コード例 #2
0
ファイル: GeometryOperator.cs プロジェクト: secondii/Yutai
        public static IGeometry Mirror(IGeometry igeometry_0, IPolyline ipolyline_0)
        {
            ILine segment = (ipolyline_0 as ISegmentCollection).Segment[0] as ILine;

            return(GeometryOperator.Mirror(igeometry_0, segment));
        }