Class GeoPolyline2
- Namespace
- GeometryHelper.Geometry
- Assembly
- GeometryHelper.dll
Whether a polyline touches another shape.
public sealed class GeoPolyline2 : IEquatable<GeoPolyline2>
- Inheritance
-
GeoPolyline2
- Implements
- Inherited Members
- Extension Methods
Constructors
- GeoPolyline2(params GeoPoint2[])
Initializes a new GeoPolyline2 from parameter vertices.
- GeoPolyline2(IEnumerable<GeoPoint2>)
Initializes a new GeoPolyline2 instance from a collection of vertices. Consecutive duplicate vertices are automatically filtered out.
Properties
- EdgeCount
Gets the number of line segment edges in the polyline, which is always one less than the number of vertices: the chain stops at the last vertex instead of running back to the first.
- EndPoint
Gets the last vertex, where the chain ends.
- this[int]
Gets the vertex at a given index.
- Length
Gets the total cumulative length of all segments in the polyline.
- MidPoint
Gets the point half way along the polyline, which can be used to probe the location of the whole polyline.
- StartPoint
Gets the first vertex, where the chain starts.
- VertexCount
Gets the number of vertices.
- Vertices
Gets the read-only list of vertices of the polyline.
Methods
- BuildIndex()
Builds a spatial index over the edges of this chain, for asking it many questions.
- Chamfer(double)
Chamfers every corner that has room for it, cutting the same distance along both edges.
- Chamfer(double, Tolerance)
Chamfers every corner that has room for it, cutting the same distance along both edges, within a tolerance.
- Chamfer(double, double)
Chamfers every corner that has room for it.
- Chamfer(double, double, Tolerance)
Chamfers every corner that has room for it, within a tolerance.
- Clone()
Creates a copy of this polyline holding its own vertex array.
- CollidesWith(GeoArc2)
Determines whether this polyline touches or overlaps an arc.
- CollidesWith(GeoArc2, Tolerance)
Determines whether this polyline touches or overlaps an arc, within a tolerance.
- CollidesWith(GeoCircle2)
Checks whether this polyline collides with a circle using default tolerance.
- CollidesWith(GeoCircle2, Tolerance)
Checks whether this polyline collides with a circle within tolerance.
- CollidesWith(GeoEdge2)
Checks whether this polyline touches an edge.
- CollidesWith(GeoEdge2, Tolerance)
Checks whether this polyline touches an edge, within a tolerance.
- CollidesWith(GeoFace2)
Checks whether this polyline reaches the material of a face, using the default tolerance.
- CollidesWith(GeoFace2, Tolerance)
Checks whether this polyline reaches the material of a face, within a tolerance.
- CollidesWith(GeoLine2)
Checks whether this polyline collides with a line segment using default tolerance.
- CollidesWith(GeoLine2, Tolerance)
Checks whether this polyline collides with a line segment within tolerance.
- CollidesWith(GeoPolygon2)
Checks whether this polyline collides with a polygon using default tolerance.
- CollidesWith(GeoPolygon2, Tolerance)
Checks whether this polyline collides with a polygon within tolerance.
- CollidesWith(GeoPolygonArc2)
Determines whether this polyline touches or overlaps a curved loop.
- CollidesWith(GeoPolygonArc2, Tolerance)
Determines whether this polyline touches or overlaps a curved loop, within a tolerance.
- CollidesWith(GeoPolyline2)
Checks whether this polyline collides with another polyline using default tolerance.
- CollidesWith(GeoPolyline2, Tolerance)
Checks whether this polyline collides with another polyline within tolerance.
- CollidesWith(GeoPolylineArc2)
Determines whether this polyline touches or overlaps a curved chain.
- CollidesWith(GeoPolylineArc2, Tolerance)
Determines whether this polyline touches or overlaps a curved chain, within a tolerance.
- CollidesWith(GeoRectangle2)
Checks whether this polyline collides with a rectangle using default tolerance.
- CollidesWith(GeoRectangle2, Tolerance)
Checks whether this polyline collides with a rectangle within tolerance.
- CollidesWith(GeoTriangle2)
Checks whether this polyline touches a triangle, using the default tolerance.
- CollidesWith(GeoTriangle2, Tolerance)
Checks whether this polyline touches a triangle, within a tolerance.
- DistanceTo(GeoArc2)
Calculates the shortest distance from this polyline to an arc.
- DistanceTo(GeoArc2, Tolerance)
Calculates the shortest distance from this polyline to an arc, within a tolerance.
- DistanceTo(GeoCircle2)
Calculates the shortest distance from this polyline to a circle.
- DistanceTo(GeoEdge2)
Gets the distance from this polyline to an edge.
- DistanceTo(GeoLine2)
Calculates the shortest distance from this polyline to a line segment.
- DistanceTo(GeoPoint2)
Calculates the shortest Euclidean distance from this polyline to a point.
- DistanceTo(GeoPolygon2)
Calculates the shortest distance from this polyline to a polygon.
- DistanceTo(GeoPolygonArc2)
Calculates the shortest distance from this polyline to a curved loop.
- DistanceTo(GeoPolygonArc2, Tolerance)
Calculates the shortest distance from this polyline to a curved loop, within a tolerance.
- DistanceTo(GeoPolyline2)
Calculates the shortest distance between two polylines.
- DistanceTo(GeoPolylineArc2)
Calculates the shortest distance from this polyline to a curved chain.
- DistanceTo(GeoPolylineArc2, Tolerance)
Calculates the shortest distance from this polyline to a curved chain, within a tolerance.
- DistanceTo(GeoRectangle2)
Calculates the shortest distance from this polyline to a rectangle.
- DistanceTo(GeoTriangle2)
Gets the distance from this polyline to a triangle.
- Equals(GeoPolyline2)
Indicates whether the current polyline is equal to another polyline.
- Equals(object)
Indicates whether this instance and a specified object are equal.
- Extend(double, LineEnd)
Lengthens the chain along its end leg, straight on.
- Extend(double, LineEnd, Tolerance)
Lengthens the chain along its end leg, within a tolerance.
- ExtendToLength(double, LineEnd)
Lengthens the chain along its end leg until the whole chain is a given length.
- ExtendToLength(double, LineEnd, Tolerance)
Lengthens the chain along its end leg until the whole chain is a given length, within a tolerance.
- Fillet(IReadOnlyList<double>)
Rounds the corners of the chain, one radius each.
- Fillet(IReadOnlyList<double>, Tolerance)
Rounds the corners of the chain, one radius each, within a tolerance.
- Fillet(double)
Rounds every corner of the chain by the same radius.
- Fillet(double, Tolerance)
Rounds every corner of the chain by the same radius, within a tolerance.
- GetClosestEdge(GeoCircle2)
Gets the edge of this polyline nearest a circle.
- GetClosestEdge(GeoLine2)
Gets the edge of this polyline nearest a segment.
- GetClosestEdge(GeoPoint2)
Gets the edge of this polyline nearest a point.
- GetClosestPointOnBoundary(GeoPoint2)
Gets the closest point on the path of this polyline to a target point.
- GetDistanceAtParameter(double)
Gets the arc length from the first vertex of this polyline to a normalized parameter.
- GetDistanceAtPoint(GeoPoint2)
Gets the arc length from the first vertex of this polyline to the point on it closest to the supplied point.
- GetEdgeAt(int)
Gets the line segment edge at a given index.
- GetEdges()
Enumerates all line segment edges of the polyline.
- GetHashCode()
Returns the hash code for this instance.
- GetIntersections(GeoArc2)
Gets the points where this polyline meets an arc.
- GetIntersections(GeoArc2, Tolerance)
Gets the points where this polyline meets an arc, within a tolerance.
- GetIntersections(GeoCircle2)
Gets all intersection points with a circle using default tolerance.
- GetIntersections(GeoCircle2, Tolerance)
Gets all intersection points with a circle within tolerance.
- GetIntersections(GeoEdge2)
Gets every point where this polyline crosses an edge.
- GetIntersections(GeoEdge2, Tolerance)
Gets every point where this polyline crosses an edge, within a tolerance.
- GetIntersections(GeoFace2)
Gets every point where this polyline crosses the boundary of a face, using the default tolerance.
- GetIntersections(GeoFace2, Tolerance)
Gets every point where this polyline crosses the boundary of a face, within a tolerance.
- GetIntersections(GeoLine2)
Gets all intersection points with a line segment using default tolerance.
- GetIntersections(GeoLine2, Tolerance)
Gets all intersection points with a line segment within tolerance.
- GetIntersections(GeoPolygon2)
Gets all intersection points with a polygon using default tolerance.
- GetIntersections(GeoPolygon2, Tolerance)
Gets all intersection points with a polygon within tolerance.
- GetIntersections(GeoPolygonArc2)
Gets the points where this polyline meets a curved loop.
- GetIntersections(GeoPolygonArc2, Tolerance)
Gets the points where this polyline meets a curved loop, within a tolerance.
- GetIntersections(GeoPolyline2)
Gets all intersection points with another polyline using default tolerance.
- GetIntersections(GeoPolyline2, Tolerance)
Gets all intersection points with another polyline within tolerance.
- GetIntersections(GeoPolylineArc2)
Gets the points where this polyline meets a curved chain.
- GetIntersections(GeoPolylineArc2, Tolerance)
Gets the points where this polyline meets a curved chain, within a tolerance.
- GetIntersections(GeoRectangle2)
Gets all intersection points with a rectangle using default tolerance.
- GetIntersections(GeoRectangle2, Tolerance)
Gets all intersection points with a rectangle within tolerance.
- GetIntersections(GeoTriangle2)
Gets every point where this polyline meets the edges of a triangle, using the default tolerance.
- GetIntersections(GeoTriangle2, Tolerance)
Gets every point where this polyline meets the edges of a triangle, within a tolerance.
- GetParameterAtDistance(double)
Gets the normalized parameter at an arc length measured from the first vertex of this polyline.
- GetParameterAtPoint(GeoPoint2)
Gets the normalized parameter of the point on this polyline closest to the supplied point.
- GetPointAtDistance(double)
Gets the point at an arc length measured from the first vertex of this polyline.
- GetPointAtParameter(double)
Gets the point at a normalized parameter along this polyline, where 0 is the first vertex and 1 is the end. Values outside [0, 1] are clamped to the endpoints.
- GetShortestLineTo(GeoArc2)
Gets the shortest segment joining this polyline to an arc.
- GetShortestLineTo(GeoArc2, Tolerance)
Gets the shortest segment joining this polyline to an arc, within a tolerance.
- GetShortestLineTo(GeoCircle2)
Finds the shortest line segment connecting a point on this polyline to a point on the circumference of a circle using default tolerance.
- GetShortestLineTo(GeoCircle2, Tolerance)
Finds the shortest line segment connecting a point on this polyline to a point on the circumference of a circle within tolerance.
- GetShortestLineTo(GeoEdge2)
Gets the shortest segment leaving this polyline and landing on an edge.
- GetShortestLineTo(GeoEdge2, Tolerance)
Gets the shortest segment leaving this polyline and landing on an edge, within a tolerance.
- GetShortestLineTo(GeoFace2)
Gets the shortest segment leaving this polyline and landing on the boundary of a face, using the default tolerance.
- GetShortestLineTo(GeoFace2, Tolerance)
Gets the shortest segment leaving this polyline and landing on the boundary of a face, within a tolerance.
- GetShortestLineTo(GeoLine2)
Finds the shortest line segment connecting a point on this polyline to a point on a line segment using default tolerance.
- GetShortestLineTo(GeoLine2, Tolerance)
Finds the shortest line segment connecting a point on this polyline to a point on a line segment within tolerance.
- GetShortestLineTo(GeoPolygon2)
Finds the shortest line segment connecting a point on this polyline to a point on the boundary of a polygon using default tolerance.
- GetShortestLineTo(GeoPolygon2, Tolerance)
Finds the shortest line segment connecting a point on this polyline to a point on the boundary of a polygon within tolerance.
- GetShortestLineTo(GeoPolygonArc2)
Gets the shortest segment joining this polyline to a curved loop.
- GetShortestLineTo(GeoPolygonArc2, Tolerance)
Gets the shortest segment joining this polyline to a curved loop, within a tolerance.
- GetShortestLineTo(GeoPolyline2)
Finds the shortest line segment connecting a point on this polyline to a point on another polyline using default tolerance.
- GetShortestLineTo(GeoPolyline2, Tolerance)
Finds the shortest line segment connecting a point on this polyline to a point on another polyline within tolerance.
- GetShortestLineTo(GeoPolylineArc2)
Gets the shortest segment joining this polyline to a curved chain.
- GetShortestLineTo(GeoPolylineArc2, Tolerance)
Gets the shortest segment joining this polyline to a curved chain, within a tolerance.
- GetShortestLineTo(GeoRectangle2)
Finds the shortest line segment connecting a point on this polyline to a point on the boundary of a rectangle using default tolerance.
- GetShortestLineTo(GeoRectangle2, Tolerance)
Finds the shortest line segment connecting a point on this polyline to a point on the boundary of a rectangle within tolerance.
- GetShortestLineTo(GeoTriangle2)
Gets the shortest segment leaving this polyline and landing on a triangle, using the default tolerance.
- GetShortestLineTo(GeoTriangle2, Tolerance)
Gets the shortest segment leaving this polyline and landing on a triangle, within a tolerance.
- IsEqualTo(GeoPolyline2)
Determines whether another chain runs through the same points, within the default tolerance.
- IsEqualTo(GeoPolyline2, Tolerance)
Determines whether another chain runs through the same points, within a tolerance.
- IsPointOn(GeoPoint2)
Checks whether a point lies on this polyline using default tolerance.
- IsPointOn(GeoPoint2, Tolerance)
Checks whether a point lies on this polyline within tolerance.
- Locate(GeoPoint2)
Classifies the location of a point relative to this polyline (Inside, OutSide, or OnSide) using default tolerance.
- Locate(GeoPoint2, Tolerance)
Classifies the location of a point relative to this polyline (Inside, OutSide, or OnSide) within tolerance.
- Offset(double)
Gets the curve parallel to this polyline at a distance to its left, with sharp corners, using default tolerance. A negative distance goes to the right. See Offset(GeoPolyline2, double, OffsetOptions, Tolerance).
- Offset(double, OffsetJoin)
Gets the curve parallel to this polyline at a distance to its left, with the given corners, using default tolerance. A negative distance goes to the right.
- Offset(double, OffsetJoin, Tolerance)
Gets the curve parallel to this polyline at a distance to its left, with the given corners, within tolerance. A negative distance goes to the right.
- Offset(double, OffsetOptions)
Gets the curve parallel to this polyline at a distance to its left, as the options say, using default tolerance. A negative distance goes to the right.
- Offset(double, OffsetOptions, Tolerance)
Gets the curve parallel to this polyline at a distance to its left, as the options say, within tolerance. A negative distance goes to the right.
- Offset(double, Tolerance)
Gets the curve parallel to this polyline at a distance to its left, with sharp corners, within tolerance. A negative distance goes to the right.
- Reverse()
Reverses the direction of the polyline.
- RotateBy(double, GeoPoint2)
Rotates the polyline around a center point by an angle in radians (counter-clockwise).
- SplitAtDistances(IEnumerable<double>)
Splits this polyline at several arc lengths measured from its first vertex, using the default tolerance.
- SplitAtDistances(IEnumerable<double>, Tolerance)
Splits this polyline at several arc lengths measured from its first vertex, within tolerance.
- ToPolygon()
Converts this polyline into a solid 2D GeoPolygon2. The chain is closed by connecting the last vertex back to the first.
- ToPolyline3(GeoCoordinateSystem3)
Puts this chain of the plane back into space, on the plane of a frame.
- ToString()
Returns the string representation of the polyline.
- TransformBy(GeoTransform2)
Applies a transformation to this chain.
- Translate(GeoVector2)
Translates the polyline by a displacement vector.
- TryChamferAt(int, double, double, out GeoPolyline2)
Chamfers one corner, using the default tolerance.
- TryChamferAt(int, double, double, out GeoPolyline2, Tolerance)
Chamfers one corner, within a tolerance.
- TryFilletAt(int, double, out GeoPolylineArc2)
Rounds one corner of the chain; the two ends of a chain are not corners.
- TryFilletAt(int, double, out GeoPolylineArc2, Tolerance)
Rounds one corner of the chain within a tolerance; the two ends of a chain are not corners.
- TryIntersectWith(GeoLine2, out GeoPoint2[])
Tries to find where this polyline crosses a segment, using the default tolerance.
- TryIntersectWith(GeoLine2, out GeoPoint2[], Tolerance)
Tries to find where this polyline crosses a segment, within a tolerance.
- TryIntersectWith(GeoPolygonArc2, out GeoPoint2[])
Tries to find where this polyline crosses a curved loop, using the default tolerance.
- TryIntersectWith(GeoPolygonArc2, out GeoPoint2[], Tolerance)
Tries to find where this polyline crosses a curved loop, within a tolerance.
- TryIntersectWith(GeoPolylineArc2, out GeoPoint2[])
Tries to find where this polyline crosses a curved chain, using the default tolerance.
- TryIntersectWith(GeoPolylineArc2, out GeoPoint2[], Tolerance)
Tries to find where this polyline crosses a curved chain, within a tolerance.
- TrySplitAtDistance(double, out GeoPolyline2, out GeoPolyline2)
Splits this polyline at an arc length measured from its first vertex, using the default tolerance.
- TrySplitAtDistance(double, out GeoPolyline2, out GeoPolyline2, Tolerance)
Splits this polyline at an arc length measured from its first vertex, within tolerance.
- TrySplitAtDistance(double, out GeoPolyline2[])
Splits the chain at an arc length from its start, the pieces as a list, using the default tolerance.
- TrySplitAtDistance(double, out GeoPolyline2[], Tolerance)
Splits the chain at an arc length from its start, the pieces as a list, within a tolerance.
- TrySplitBy(GeoLine2, out GeoPolyline2[])
Splits this polyline everywhere a cutting line segment crosses it, using the default tolerance.
- TrySplitBy(GeoLine2, out GeoPolyline2[], Tolerance)
Splits this polyline everywhere a cutting line segment crosses it, within tolerance.
- TrySplitBy(GeoLine2[], out GeoPolyline2[])
Splits this polyline everywhere a list of cutting line segments crosses it, using the default tolerance.
- TrySplitBy(GeoLine2[], out GeoPolyline2[], Tolerance)
Splits this polyline everywhere a list of cutting line segments crosses it, within tolerance.
- TrySplitBy(GeoPoint2, out GeoPolyline2, out GeoPolyline2)
Splits this polyline at a point lying on it, using the default tolerance.
- TrySplitBy(GeoPoint2, out GeoPolyline2, out GeoPolyline2, Tolerance)
Splits this polyline at a point lying on it, within tolerance.
- TrySplitBy(GeoPoint2[], out GeoPolyline2[])
Splits this polyline everywhere a list of points lies on it, using the default tolerance.
- TrySplitBy(GeoPoint2[], out GeoPolyline2[], Tolerance)
Splits this polyline everywhere a list of points lies on it, within tolerance.
- TrySplitBy(GeoPolygon2, out GeoPolyline2[], out GeoPolyline2[])
Splits this polyline against a polygon, sorting the sub-polylines by which side of its boundary they fall on, using the default tolerance.
- TrySplitBy(GeoPolygon2, out GeoPolyline2[], out GeoPolyline2[], Tolerance)
Splits this polyline against a polygon, sorting the sub-polylines by which side of its boundary they fall on, within tolerance.
- TrySplitBy(GeoPolygon2[], out GeoPolyline2[], out GeoPolyline2[])
Splits this 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(GeoPolygon2[], out GeoPolyline2[], out GeoPolyline2[], Tolerance)
Splits this polyline everywhere a list of polygon boundaries crosses it, separating the parts that fall inside the polygons from those that fall outside, within tolerance.
- TrySplitBy(GeoPolyline2[], out GeoPolyline2[])
Splits this polyline everywhere a list of cutting polylines crosses it, using the default tolerance.
- TrySplitBy(GeoPolyline2[], out GeoPolyline2[], Tolerance)
Splits this polyline everywhere a list of cutting polylines crosses it, within tolerance.
- TryTrimTo(GeoPoint2, LineEnd, out GeoPolyline2)
Shortens the chain at one end back to a point on it.
- TryTrimTo(GeoPoint2, LineEnd, out GeoPolyline2, Tolerance)
Shortens the chain at one end back to a point on it, within a tolerance.
Operators
- operator +(GeoPolyline2, GeoVector2)
Translates a polyline by a vector.
- operator ==(GeoPolyline2, GeoPolyline2)
Compares two GeoPolyline2 instances for equality.
- operator !=(GeoPolyline2, GeoPolyline2)
Compares two GeoPolyline2 instances for inequality.
- operator -(GeoPolyline2, GeoVector2)
Translates a polyline backwards by a vector.