Class Splition2
- Namespace
- GeometryHelper.Core
- Assembly
- GeometryHelper.dll
Cutting a chain or a loop that may curve, along the arcs rather than across them.
public static class Splition2
- Inheritance
-
Splition2
- Inherited Members
Remarks
A GeoPolygon3 and a GeoFace3 could be cut in two and a GeoPolygon2 and a GeoFace2 could not, though the plane is where that is usually wanted. Everything already cut in the plane — segments, chains, loops — came back as lines; nothing came back as an area.
Nothing new is worked out here. The shape is laid flat in the world frame at z = 0, cut by the exact arithmetic Splition3 already holds, and projected back. Lifting adds a nought and projecting drops it, so the round trip costs no accuracy, and the two readings cannot drift apart because there is only one of them.
The cutter is a GeoLine2 read as the whole straight line through it, which is what a GeoPlane3 is to space: unbounded, and dividing everything into two sides. Its length is ignored — a segment crossing half the shape cuts all of it. Where a bounded cutter is meant, the cut line overload takes a chain that has to start and finish on the boundary.
Methods
- SplitAtDistances(GeoLine2, IEnumerable<double>)
Splits a line segment at several arc lengths measured from its start point, using the default tolerance.
- SplitAtDistances(GeoLine2, IEnumerable<double>, Tolerance)
Splits a line segment at several arc lengths measured from its start point, within tolerance.
- SplitAtDistances(GeoPolygonArc2, IEnumerable<double>)
Cuts a loop that may curve at distances round it.
- SplitAtDistances(GeoPolygonArc2, IEnumerable<double>, Tolerance)
Cuts a loop that may curve at distances round it, within a tolerance.
- SplitAtDistances(GeoPolyline2, IEnumerable<double>)
Splits a polyline at several arc lengths measured from its first vertex, using the default tolerance.
- SplitAtDistances(GeoPolyline2, IEnumerable<double>, Tolerance)
Splits a polyline at several arc lengths measured from its first vertex, within tolerance.
- SplitAtDistances(GeoPolylineArc2, IEnumerable<double>)
Cuts a chain that may curve at distances along it.
- SplitAtDistances(GeoPolylineArc2, IEnumerable<double>, Tolerance)
Cuts a chain that may curve at distances along it, within a tolerance.
- TrySplitAtDistance(GeoLine2, double, out GeoLine2, out GeoLine2)
Splits a line segment at an arc length measured from its start point, using the default tolerance.
- TrySplitAtDistance(GeoLine2, double, out GeoLine2, out GeoLine2, Tolerance)
Splits a line segment at an arc length measured from its start point, within tolerance.
- TrySplitAtDistance(GeoPolyline2, double, out GeoPolyline2, out GeoPolyline2)
Splits a polyline at an arc length measured from its first vertex, using the default tolerance.
- TrySplitAtDistance(GeoPolyline2, double, out GeoPolyline2, out GeoPolyline2, Tolerance)
Splits a polyline at an arc length measured from its first vertex, within tolerance.
- TrySplitAtDistance(GeoPolylineArc2, double, out GeoPolylineArc2, out GeoPolylineArc2)
Cuts a chain that may curve in two at a distance along it.
- TrySplitAtDistance(GeoPolylineArc2, double, out GeoPolylineArc2, out GeoPolylineArc2, Tolerance)
Cuts a chain that may curve in two at a distance along it, within a tolerance.
- TrySplitBy(GeoFace2, GeoLine2, out GeoFace2[], out GeoFace2[])
Cuts a face by the straight line through a segment.
- TrySplitBy(GeoFace2, GeoLine2, out GeoFace2[], out GeoFace2[], Tolerance)
Cuts a face by the straight line through a segment, within a tolerance.
- TrySplitBy(GeoLine2, GeoLine2, out GeoLine2, out GeoLine2)
Splits a line segment where a cutting line segment crosses it, using the default tolerance.
- TrySplitBy(GeoLine2, GeoLine2, out GeoLine2, out GeoLine2, Tolerance)
Splits a line segment where a cutting line segment crosses it, within tolerance.
- TrySplitBy(GeoLine2, GeoLine2[], out GeoLine2[])
Splits a line segment everywhere a list of cutting line segments crosses it, using the default tolerance.
- TrySplitBy(GeoLine2, GeoLine2[], out GeoLine2[], Tolerance)
Splits a line segment everywhere a list of cutting line segments crosses it, within tolerance.
- TrySplitBy(GeoLine2, GeoPoint2, out GeoLine2, out GeoLine2)
Splits a line segment at a point lying on it, using the default tolerance.
- TrySplitBy(GeoLine2, GeoPoint2, out GeoLine2, out GeoLine2, Tolerance)
Splits a line segment at a point lying on it, within tolerance.
- TrySplitBy(GeoLine2, GeoPoint2[], out GeoLine2[])
Splits a line segment everywhere a list of points lies on it, using the default tolerance.
- TrySplitBy(GeoLine2, GeoPoint2[], out GeoLine2[], Tolerance)
Splits a line segment everywhere a list of points lies on it, within tolerance.
- TrySplitBy(GeoLine2, GeoPolygon2, out GeoLine2[], out GeoLine2[])
Splits a line segment where a polygon boundary crosses it, separating the parts that fall inside the polygon from those that fall outside, using the default tolerance.
- TrySplitBy(GeoLine2, GeoPolygon2, out GeoLine2[], out GeoLine2[], Tolerance)
Splits a line segment where a polygon boundary crosses it, separating the parts that fall inside the polygon from those that fall outside, within tolerance.
- TrySplitBy(GeoLine2, GeoPolygon2[], out GeoLine2[], out GeoLine2[])
Splits a line segment everywhere a list of polygon boundaries crosses it, separating the parts that fall inside the polygons from those that fall outside, using the default tolerance.
- TrySplitBy(GeoLine2, GeoPolygon2[], out GeoLine2[], out GeoLine2[], Tolerance)
Splits a line segment everywhere a list of polygon boundaries crosses it, separating the parts that fall inside the polygons from those that fall outside, using a specified tolerance.
- TrySplitBy(GeoLine2, GeoPolyline2, out GeoLine2[])
Splits a line segment everywhere a cutting polyline crosses it, using the default tolerance.
- TrySplitBy(GeoLine2, GeoPolyline2, out GeoLine2[], Tolerance)
Splits a line segment everywhere a cutting polyline crosses it, within tolerance.
- TrySplitBy(GeoLine2, GeoPolyline2[], out GeoLine2[])
Splits a line segment everywhere a list of polylines crosses it, using the default tolerance.
- TrySplitBy(GeoLine2, GeoPolyline2[], out GeoLine2[], Tolerance)
Splits a line segment everywhere a list of polylines crosses it, within tolerance.
- TrySplitBy(GeoPolygon2, GeoLine2, out GeoPolygon2[], out GeoPolygon2[])
Cuts a loop by the straight line through a segment.
- TrySplitBy(GeoPolygon2, GeoLine2, out GeoPolygon2[], out GeoPolygon2[], Tolerance)
Cuts a loop by the straight line through a segment, within a tolerance.
- TrySplitBy(GeoPolygon2, GeoPolyline2, out GeoPolygon2[])
Cuts a loop in two along a chain drawn across it.
- TrySplitBy(GeoPolygon2, GeoPolyline2, out GeoPolygon2[], Tolerance)
Cuts a loop in two along a chain drawn across it, within a tolerance.
- TrySplitBy(GeoPolygonArc2, GeoLine2, out GeoPolylineArc2[])
Cuts a loop that may curve wherever it meets a straight segment.
- TrySplitBy(GeoPolygonArc2, GeoLine2, out GeoPolylineArc2[], Tolerance)
Cuts a loop that may curve wherever it meets a straight segment, within a tolerance.
- TrySplitBy(GeoPolygonArc2, GeoPolygon2, out GeoPolylineArc2[])
Cuts a loop that may curve wherever it meets a straight loop.
- TrySplitBy(GeoPolygonArc2, GeoPolygon2, out GeoPolylineArc2[], Tolerance)
Cuts a loop that may curve wherever it meets a straight loop, within a tolerance.
- TrySplitBy(GeoPolyline2, GeoLine2, out GeoPolyline2[])
Splits a polyline everywhere a cutting line segment crosses it, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoLine2, out GeoPolyline2[], Tolerance)
Splits a polyline everywhere a cutting line segment crosses it, within tolerance.
- TrySplitBy(GeoPolyline2, GeoLine2[], out GeoPolyline2[])
Splits a polyline everywhere a list of cutting line segments crosses it, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoLine2[], out GeoPolyline2[], Tolerance)
Splits a polyline everywhere a list of cutting line segments crosses it, within tolerance.
- TrySplitBy(GeoPolyline2, GeoPoint2, out GeoPolyline2, out GeoPolyline2)
Splits a polyline at a point lying on it, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoPoint2, out GeoPolyline2, out GeoPolyline2, Tolerance)
Splits a polyline at a point lying on it, within tolerance.
- TrySplitBy(GeoPolyline2, GeoPoint2[], out GeoPolyline2[])
Splits a polyline everywhere a list of points lies on it, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoPoint2[], out GeoPolyline2[], Tolerance)
Splits a polyline everywhere a list of points lies on it, within tolerance.
- TrySplitBy(GeoPolyline2, GeoPolygon2, out GeoPolyline2[], out GeoPolyline2[])
Splits a polyline where a polygon boundary crosses it, separating the parts that fall inside the polygon from those that fall outside, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoPolygon2, out GeoPolyline2[], out GeoPolyline2[], Tolerance)
Splits a polyline where a polygon boundary crosses it, separating the parts that fall inside the polygon from those that fall outside, within tolerance.
- TrySplitBy(GeoPolyline2, GeoPolygon2[], out GeoPolyline2[], out GeoPolyline2[])
Splits a polyline everywhere a list of polygon boundaries crosses it, separating the parts that fall inside the polygons from those that fall outside, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoPolygon2[], out GeoPolyline2[], out GeoPolyline2[], Tolerance)
Splits a polyline everywhere a list of polygon boundaries crosses it, separating the parts that fall inside the polygons from those that fall outside, using a specified tolerance.
- TrySplitBy(GeoPolyline2, GeoPolyline2[], out GeoPolyline2[])
Splits a polyline everywhere a list of cutting polylines crosses it, using the default tolerance.
- TrySplitBy(GeoPolyline2, GeoPolyline2[], out GeoPolyline2[], Tolerance)
Splits a polyline everywhere a list of cutting polylines crosses it, within tolerance.
- TrySplitBy(GeoPolylineArc2, GeoArc2, out GeoPolylineArc2[])
Cuts a chain that may curve wherever it meets an arc.
- TrySplitBy(GeoPolylineArc2, GeoArc2, out GeoPolylineArc2[], Tolerance)
Cuts a chain that may curve wherever it meets an arc, within a tolerance.
- TrySplitBy(GeoPolylineArc2, GeoLine2, out GeoPolylineArc2[])
Cuts a chain that may curve wherever it meets a straight segment.
- TrySplitBy(GeoPolylineArc2, GeoLine2, out GeoPolylineArc2[], Tolerance)
Cuts a chain that may curve wherever it meets a straight segment, within a tolerance.
- TrySplitBy(GeoPolylineArc2, GeoPoint2, out GeoPolylineArc2, out GeoPolylineArc2)
Cuts a chain that may curve in two at a point on it.
- TrySplitBy(GeoPolylineArc2, GeoPoint2, out GeoPolylineArc2, out GeoPolylineArc2, Tolerance)
Cuts a chain that may curve in two at a point on it, within a tolerance.
- TrySplitBy(GeoPolylineArc2, GeoPoint2[], out GeoPolylineArc2[])
Cuts a chain that may curve at points on it.
- TrySplitBy(GeoPolylineArc2, GeoPoint2[], out GeoPolylineArc2[], Tolerance)
Cuts a chain that may curve at points on it, within a tolerance.
- TrySplitBy(GeoPolylineArc2, GeoPolygon2, out GeoPolylineArc2[])
Cuts a chain that may curve wherever it meets a straight loop.
- TrySplitBy(GeoPolylineArc2, GeoPolygon2, out GeoPolylineArc2[], Tolerance)
Cuts a chain that may curve wherever it meets a straight loop, within a tolerance.
- TrySplitBy(GeoPolylineArc2, GeoPolygonArc2, out GeoPolylineArc2[])
Cuts a chain that may curve wherever it meets a loop that may curve.
- TrySplitBy(GeoPolylineArc2, GeoPolygonArc2, out GeoPolylineArc2[], Tolerance)
Cuts a chain that may curve wherever it meets a loop that may curve, within a tolerance.