public static void MakeOffsetZ(IGeometry igeometry_0, double double_0) { if (igeometry_0 is IZ) { GeometryOperator.MakeZMAware(igeometry_0, true); IZ igeometry0 = igeometry_0 as IZ; igeometry0.CalculateNonSimpleZs(); igeometry0.OffsetZs(double_0); } }
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)); }
public IPolyline Cut(IPoint ipoint_0, IPoint ipoint_1, double double_0) { IPoint point; bool flag; int num; int num1; IPoint point1; int num2; IPolyline polyline; IPolyline mPGeometry = this.m_pGeometry as IPolyline; bool flag1 = false; int num3 = -1; int num4 = -1; double num5 = 0; int num6 = -1; int num7 = -1; bool flag2 = GeometryOperator.TestGeometryHit(double_0, ipoint_0, mPGeometry, out point, ref num5, ref num6, ref num3, out flag1); bool flag3 = flag2; if ((!flag2 ? false : !flag1)) { mPGeometry.SplitAtPoint(point, true, false, out flag, out num, out num1); if (flag) { GeometryOperator.TestGeometryHit(double_0, ipoint_0, mPGeometry, out point, ref num5, ref num6, ref num3, out flag1); } } bool flag4 = GeometryOperator.TestGeometryHit(double_0, ipoint_1, mPGeometry, out point1, ref num5, ref num7, ref num4, out flag1); bool flag5 = flag4; if ((!flag4 ? false : !flag1)) { mPGeometry.SplitAtPoint(point, true, false, out flag, out num, out num1); if (flag) { if (num3 >= num4) { num3++; } GeometryOperator.TestGeometryHit(double_0, ipoint_1, mPGeometry, out point1, ref num5, ref num7, ref num4, out flag1); } } if ((!flag3 ? true : !flag5)) { polyline = null; } else { if (num6 > num7) { num2 = num6; num6 = num7; num7 = num2; num2 = num3; num3 = num4; num4 = num2; } else if ((num6 != num7 ? false : num3 > num4)) { num2 = num3; num3 = num4; num4 = num2; } polyline = this.method_1(mPGeometry, num6, num3, num7, num4) as IPolyline; } return(polyline); }