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); }
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)); }