Table of Contents

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.