Class GeoPolyline3
- Namespace
- GeometryHelper.Geometry
- Assembly
- GeometryHelper.dll
Whether a polyline touches another shape.
public sealed class GeoPolyline3 : IEquatable<GeoPolyline3>
- Inheritance
-
GeoPolyline3
- Implements
- Inherited Members
- Extension Methods
Constructors
- GeoPolyline3(params GeoPoint3[])
Initializes a new polyline directly from vertex arguments.
- GeoPolyline3(IEnumerable<GeoPoint3>)
Initializes a new polyline from a sequence of vertices.
Properties
- EdgeCount
Gets the number of segments, one fewer than the number of vertices.
- EndPoint
Gets the last vertex, where the chain ends.
- this[int]
Gets the vertex at a given index.
- Length
Gets the total length of the polyline.
- MidPoint
Gets the point half way along the chain.
- StartPoint
Gets the first vertex, where the chain starts.
- VertexCount
Gets the number of vertices.
- Vertices
Gets the read-only list of vertices defining the polyline.
Methods
- Chamfer(double)
Cuts every corner of the chain back by the same distance.
- Chamfer(double, Tolerance)
Cuts every corner of the chain back by the same distance, within a tolerance.
- Chamfer(double, double)
Cuts every corner of the chain back, by one distance along the way in and another along the way out.
- Chamfer(double, double, Tolerance)
Cuts every corner of the chain back, by one distance along the way in and another along the way out, within a tolerance.
- Clone()
Creates a copy of this polyline.
- CollidesWith(GeoAabb3)
Determines whether this chain touches a square box.
- CollidesWith(GeoAabb3, Tolerance)
Determines whether this chain touches a square box, within a tolerance.
- CollidesWith(GeoArc3)
Determines whether this chain touches an arc.
- CollidesWith(GeoArc3, Tolerance)
Determines whether this chain touches an arc, within a tolerance.
- CollidesWith(GeoCircle3)
Determines whether this chain touches a circle.
- CollidesWith(GeoCircle3, Tolerance)
Determines whether this chain touches a circle, within a tolerance.
- CollidesWith(GeoFace3)
Determines whether this chain touches a face.
- CollidesWith(GeoFace3, Tolerance)
Determines whether this chain touches a face, within a tolerance.
- CollidesWith(GeoLine3)
Determines whether this chain touches a segment.
- CollidesWith(GeoLine3, Tolerance)
Determines whether this chain touches a segment, within a tolerance.
- CollidesWith(GeoObb3)
Determines whether this chain touches a box.
- CollidesWith(GeoObb3, Tolerance)
Determines whether this chain touches a box, within a tolerance.
- CollidesWith(GeoPlane3)
Determines whether this chain touches a plane.
- CollidesWith(GeoPlane3, Tolerance)
Determines whether this chain touches a plane, within a tolerance.
- CollidesWith(GeoPolygon3)
Determines whether this chain touches a polygon.
- CollidesWith(GeoPolygon3, Tolerance)
Determines whether this chain touches a polygon, within a tolerance.
- CollidesWith(GeoPolygonArc3)
Determines whether this chain touches a curved loop.
- CollidesWith(GeoPolygonArc3, Tolerance)
Determines whether this chain touches a curved loop, within a tolerance.
- CollidesWith(GeoPolyline3)
Determines whether this chain touches another straight chain.
- CollidesWith(GeoPolyline3, Tolerance)
Determines whether this chain touches another straight chain, within a tolerance.
- CollidesWith(GeoPolylineArc3)
Determines whether this chain touches a curved chain.
- CollidesWith(GeoPolylineArc3, Tolerance)
Determines whether this chain touches a curved chain, within a tolerance.
- CollidesWith(GeoRay3)
Determines whether this chain touches a ray.
- CollidesWith(GeoRay3, Tolerance)
Determines whether this chain touches a ray, within a tolerance.
- CollidesWith(GeoSolid3)
Determines whether this chain touches or overlaps a solid.
- CollidesWith(GeoSolid3, Tolerance)
Determines whether this chain touches or overlaps a solid, within a tolerance.
- CollidesWith(GeoTriangle3)
Determines whether this chain touches a triangle.
- CollidesWith(GeoTriangle3, Tolerance)
Determines whether this chain touches a triangle, within a tolerance.
- DistanceTo(GeoAabb3)
Calculates the shortest distance from this chain to an axis-aligned box.
- DistanceTo(GeoAabb3, Tolerance)
Calculates the shortest distance from this chain to an axis-aligned box, within a tolerance.
- DistanceTo(GeoLine3)
Calculates the shortest distance from this chain to a line segment.
- DistanceTo(GeoLine3, Tolerance)
Calculates the shortest distance from this chain to a line segment, within a tolerance.
- DistanceTo(GeoObb3)
Calculates the shortest distance from this chain to an oriented box.
- DistanceTo(GeoObb3, Tolerance)
Calculates the shortest distance from this chain to an oriented box, within a tolerance.
- DistanceTo(GeoPlane3)
Calculates the shortest distance from this chain to a plane.
- DistanceTo(GeoPlane3, Tolerance)
Calculates the shortest distance from this chain to a plane, within a tolerance.
- DistanceTo(GeoPoint3)
Calculates the shortest distance from this polyline to a point.
- DistanceTo(GeoPolygon3)
Calculates the shortest distance from this chain to a polygon.
- DistanceTo(GeoPolygon3, Tolerance)
Calculates the shortest distance from this chain to a polygon, within a tolerance.
- DistanceTo(GeoPolyline3)
Calculates the shortest distance from this chain to another chain.
- DistanceTo(GeoPolyline3, Tolerance)
Calculates the shortest distance from this chain to another chain, within a tolerance.
- DistanceTo(GeoSolid3)
Calculates the shortest distance from this chain to a solid.
- DistanceTo(GeoSolid3, Tolerance)
Calculates the shortest distance from this chain to a solid, within a tolerance.
- DistanceTo(GeoTriangle3)
Calculates the shortest distance from this chain to a triangle.
- DistanceTo(GeoTriangle3, Tolerance)
Calculates the shortest distance from this chain to a triangle, within a tolerance.
- Equals(GeoPolyline3)
Determines whether another polyline has exactly the same vertices, in the same order.
- Equals(object)
Determines whether the specified object is equal to the current polyline.
- 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 this chain, each by its own radius.
- Fillet(IReadOnlyList<double>, Tolerance)
Rounds the corners of this chain, each by its own radius, within a tolerance.
- Fillet(double)
Rounds every corner of this chain by the same radius.
- Fillet(double, Tolerance)
Rounds every corner of this chain by the same radius, within a tolerance.
- GetAabb()
Gets the axis-aligned bounding box enclosing this polyline.
- GetClosestPointOnBoundary(GeoPoint3)
Gets the point on this polyline closest to a target point.
- GetDistanceAtParameter(double)
Gets the arc length from the start of this polyline to a normalized parameter.
- GetDistanceAtPoint(GeoPoint3)
Gets the arc length from the start of this polyline to the point on it closest to the supplied point.
- GetEdgeAt(int)
Gets the segment at a given index.
- GetEdges()
Gets every segment of the polyline, in order.
- GetHashCode()
Returns the hash code for this instance.
- GetIntersections(GeoAabb3)
Gets every point where this chain crosses a square box.
- GetIntersections(GeoAabb3, Tolerance)
Gets every point where this chain crosses a square box, within a tolerance.
- GetIntersections(GeoArc3)
Gets every point where this chain crosses an arc.
- GetIntersections(GeoArc3, Tolerance)
Gets every point where this chain crosses an arc, within a tolerance.
- GetIntersections(GeoCircle3)
Gets every point where this chain crosses a circle.
- GetIntersections(GeoCircle3, Tolerance)
Gets every point where this chain crosses a circle, within a tolerance.
- GetIntersections(GeoFace3)
Gets every point where this chain crosses a face.
- GetIntersections(GeoFace3, Tolerance)
Gets every point where this chain crosses a face, within a tolerance.
- GetIntersections(GeoLine3)
Gets every point where this chain crosses a segment.
- GetIntersections(GeoLine3, Tolerance)
Gets every point where this chain crosses a segment, within a tolerance.
- GetIntersections(GeoObb3)
Gets every point where this chain crosses a box.
- GetIntersections(GeoObb3, Tolerance)
Gets every point where this chain crosses a box, within a tolerance.
- GetIntersections(GeoPlane3)
Gets every point where this chain crosses a plane.
- GetIntersections(GeoPlane3, Tolerance)
Gets every point where this chain crosses a plane, within a tolerance.
- GetIntersections(GeoPolygon3)
Gets every point where this chain crosses a polygon.
- GetIntersections(GeoPolygon3, Tolerance)
Gets every point where this chain crosses a polygon, within a tolerance.
- GetIntersections(GeoPolygonArc3)
Gets every point where this chain crosses a curved loop.
- GetIntersections(GeoPolygonArc3, Tolerance)
Gets every point where this chain crosses a curved loop, within a tolerance.
- GetIntersections(GeoPolyline3)
Gets every point where this chain crosses another straight chain.
- GetIntersections(GeoPolyline3, Tolerance)
Gets every point where this chain crosses another straight chain, within a tolerance.
- GetIntersections(GeoPolylineArc3)
Gets every point where this chain crosses a curved chain.
- GetIntersections(GeoPolylineArc3, Tolerance)
Gets every point where this chain crosses a curved chain, within a tolerance.
- GetIntersections(GeoRay3)
Gets every point where this chain crosses a ray.
- GetIntersections(GeoRay3, Tolerance)
Gets every point where this chain crosses a ray, within a tolerance.
- GetIntersections(GeoSolid3)
Gets every point where this chain crosses a body.
- GetIntersections(GeoSolid3, Tolerance)
Gets every point where this chain crosses a body, within a tolerance.
- GetIntersections(GeoTriangle3)
Gets every point where this chain crosses a triangle.
- GetIntersections(GeoTriangle3, Tolerance)
Gets every point where this chain crosses a triangle, within a tolerance.
- GetParameterAtDistance(double)
Gets the normalized parameter at an arc length measured from the start of this polyline.
- GetParameterAtPoint(GeoPoint3)
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 start of the polyline.
- GetPointAtParameter(double)
Gets the point at a normalized parameter along the polyline. Values outside [0, 1] clamp to the ends, because an open chain has no single direction to extend along.
- IsEqualTo(GeoPolyline3)
Compares whether this polyline equals another using the default tolerance.
- IsEqualTo(GeoPolyline3, Tolerance)
Compares whether this polyline equals another within a tolerance, ignoring which way round the chain runs.
- IsPlanar()
Checks whether every vertex lies on a common plane, using the default tolerance.
- IsPlanar(Tolerance)
Checks whether every vertex lies on a common plane, within a tolerance.
- IsPointOn(GeoPoint3)
Checks whether a point lies on this polyline, using the default tolerance.
- IsPointOn(GeoPoint3, Tolerance)
Checks whether a point lies on this polyline, within a tolerance.
- Locate(GeoPoint3)
Says where a point lies with respect to this chain.
- Locate(GeoPoint3, Tolerance)
Says where a point lies with respect to this chain, within a tolerance.
- OffsetInPlane(double, GeoVector3)
Gets the curve parallel to this flat polyline at a distance to its left within its plane, with sharp corners, using the default tolerance. See OffsetInPlane(GeoPolyline3, double, GeoVector3, OffsetOptions, Tolerance).
- OffsetInPlane(double, GeoVector3, OffsetJoin)
Gets the curve parallel to this flat polyline at a distance to its left within its plane, with the given corners, using the default tolerance.
- OffsetInPlane(double, GeoVector3, OffsetJoin, Tolerance)
Gets the curve parallel to this flat polyline at a distance to its left within its plane, with the given corners, within a tolerance.
- OffsetInPlane(double, GeoVector3, OffsetOptions)
Gets the curve parallel to this flat polyline at a distance to its left within its plane, as the options say, using the default tolerance.
- OffsetInPlane(double, GeoVector3, OffsetOptions, Tolerance)
Gets the curve parallel to this flat polyline at a distance to its left within its plane, as the options say, within a tolerance.
- OffsetInPlane(double, GeoVector3, Tolerance)
Gets the curve parallel to this flat polyline at a distance to its left within its plane, with sharp corners, within a tolerance.
- ProjectToPolyline2(GeoCoordinateSystem3)
Lays this chain out in a frame, dropping each vertex's distance from the plane of that frame.
- Reverse()
Gets the polyline running the other way.
- SplitAtDistances(IEnumerable<double>)
Splits this polyline at several arc lengths at once, using the default tolerance.
- SplitAtDistances(IEnumerable<double>, Tolerance)
Splits this polyline at several arc lengths at once, within a tolerance.
- ToPolygon()
Gets the polygon that closes this chain, joining its last vertex back to its first.
- ToString()
Returns a string that represents the current polyline.
- TransformBy(GeoTransform3)
Applies a transformation to every vertex.
- Translate(GeoVector3)
Moves the chain by a vector.
- TryChamferAt(int, double, double, out GeoPolyline3)
Cuts one corner of the chain back; the two ends of a chain are not corners.
- TryChamferAt(int, double, double, out GeoPolyline3, Tolerance)
Cuts one corner of the chain back within a tolerance; the two ends of a chain are not corners.
- TryFilletAt(int, double, out GeoPolylineArc3)
Rounds one named corner of this chain.
- TryFilletAt(int, double, out GeoPolylineArc3, Tolerance)
Rounds one named corner of this chain, within a tolerance.
- TryGetPlane(out GeoPlane3)
Tries to get the plane every vertex lies on, using the default tolerance.
- TryGetPlane(out GeoPlane3, Tolerance)
Tries to get the plane every vertex lies on, within a tolerance.
- TryIntersectWith(GeoAabb3, out GeoPoint3[])
Tries to find where this chain crosses a square box.
- TryIntersectWith(GeoAabb3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a square box, within a tolerance.
- TryIntersectWith(GeoArc3, out GeoPoint3[])
Tries to find where this chain crosses an arc.
- TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses an arc, within a tolerance.
- TryIntersectWith(GeoCircle3, out GeoPoint3[])
Tries to find where this chain crosses a circle.
- TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a circle, within a tolerance.
- TryIntersectWith(GeoFace3, out GeoPoint3[])
Tries to find where this chain crosses a face.
- TryIntersectWith(GeoFace3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a face, within a tolerance.
- TryIntersectWith(GeoLine3, out GeoPoint3[])
Tries to find where this chain crosses a segment.
- TryIntersectWith(GeoLine3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a segment, within a tolerance.
- TryIntersectWith(GeoObb3, out GeoPoint3[])
Tries to find where this chain crosses a box.
- TryIntersectWith(GeoObb3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a box, within a tolerance.
- TryIntersectWith(GeoPlane3, out GeoPoint3[])
Tries to find where this chain crosses a plane.
- TryIntersectWith(GeoPlane3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a plane, within a tolerance.
- TryIntersectWith(GeoPolygon3, out GeoPoint3[])
Tries to find where this chain crosses a polygon.
- TryIntersectWith(GeoPolygon3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a polygon, within a tolerance.
- TryIntersectWith(GeoPolygonArc3, out GeoPoint3[])
Tries to find where this chain crosses a curved loop.
- TryIntersectWith(GeoPolygonArc3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a curved loop, within a tolerance.
- TryIntersectWith(GeoPolyline3, out GeoPoint3[])
Tries to find where this chain crosses another straight chain.
- TryIntersectWith(GeoPolyline3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses another straight chain, within a tolerance.
- TryIntersectWith(GeoPolylineArc3, out GeoPoint3[])
Tries to find where this chain crosses a curved chain.
- TryIntersectWith(GeoPolylineArc3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a curved chain, within a tolerance.
- TryIntersectWith(GeoRay3, out GeoPoint3[])
Tries to find where this chain crosses a ray.
- TryIntersectWith(GeoRay3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a ray, within a tolerance.
- TryIntersectWith(GeoSolid3, out GeoPoint3[])
Tries to find where this chain crosses a body.
- TryIntersectWith(GeoSolid3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a body, within a tolerance.
- TryIntersectWith(GeoTriangle3, out GeoPoint3[])
Tries to find where this chain crosses a triangle.
- TryIntersectWith(GeoTriangle3, out GeoPoint3[], Tolerance)
Tries to find where this chain crosses a triangle, within a tolerance.
- TrySplitAtDistance(double, out GeoPolyline3, out GeoPolyline3)
Splits the chain at an arc length from its start into the piece before and the piece after, using the default tolerance.
- TrySplitAtDistance(double, out GeoPolyline3, out GeoPolyline3, Tolerance)
Splits the chain at an arc length from its start into the piece before and the piece after, within a tolerance.
- TrySplitAtDistance(double, out GeoPolyline3[])
Splits this polyline at an arc length from its start, using the default tolerance.
- TrySplitAtDistance(double, out GeoPolyline3[], Tolerance)
Splits this polyline at an arc length from its start, within a tolerance.
- TrySplitBy(GeoAabb3, out GeoPolyline3[], out GeoPolyline3[])
Splits this polyline by an axis-aligned box, using the default tolerance.
- TrySplitBy(GeoAabb3, out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this polyline by an axis-aligned box, within a tolerance.
- TrySplitBy(GeoAabb3[], out GeoPolyline3[], out GeoPolyline3[])
Splits this polyline by several axis-aligned boxes taken together as their union, using the default tolerance.
- TrySplitBy(GeoAabb3[], out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this polyline by several axis-aligned boxes taken together as their union, within a tolerance.
- TrySplitBy(GeoFace3, out GeoPolyline3[])
Splits this chain wherever it passes through a face, using the default tolerance.
- TrySplitBy(GeoFace3, out GeoPolyline3[], Tolerance)
Splits this chain wherever it passes through a face, within a tolerance.
- TrySplitBy(GeoObb3, out GeoPolyline3[], out GeoPolyline3[])
Splits this polyline by an oriented box, using the default tolerance.
- TrySplitBy(GeoObb3, out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this polyline by an oriented box, within a tolerance.
- TrySplitBy(GeoObb3[], out GeoPolyline3[], out GeoPolyline3[])
Splits this polyline by several oriented boxes taken together as their union, using the default tolerance.
- TrySplitBy(GeoObb3[], out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this polyline by several oriented boxes taken together as their union, within a tolerance.
- TrySplitBy(GeoPlane3, out GeoPolyline3[])
Splits this polyline wherever a plane crosses it, using the default tolerance.
- TrySplitBy(GeoPlane3, out GeoPolyline3[], out GeoPolyline3[])
Splits this chain by a plane and sorts the pieces by side, using the default tolerance.
- TrySplitBy(GeoPlane3, out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this chain by a plane and sorts the pieces by side, within a tolerance.
- TrySplitBy(GeoPlane3, out GeoPolyline3[], Tolerance)
Splits this polyline wherever a plane crosses it, within a tolerance.
- TrySplitBy(GeoPoint3, out GeoPolyline3[])
Splits this polyline at a point on it, using the default tolerance.
- TrySplitBy(GeoPoint3, out GeoPolyline3[], Tolerance)
Splits this polyline at a point on it, within a tolerance.
- TrySplitBy(GeoPolygon3, out GeoPolyline3[])
Splits this chain wherever it passes through a polygon, using the default tolerance.
- TrySplitBy(GeoPolygon3, out GeoPolyline3[], Tolerance)
Splits this chain wherever it passes through a polygon, within a tolerance.
- TrySplitBy(GeoSolid3, out GeoPolyline3[], out GeoPolyline3[])
Splits this polyline by a solid, sorting the pieces into those inside it and those outside, using the default tolerance.
- TrySplitBy(GeoSolid3, out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this polyline by a solid, within a tolerance.
- TrySplitBy(GeoSolid3[], out GeoPolyline3[], out GeoPolyline3[])
Splits this polyline by several solids taken together as their union, using the default tolerance.
- TrySplitBy(GeoSolid3[], out GeoPolyline3[], out GeoPolyline3[], Tolerance)
Splits this polyline by several solids taken together as their union, within a tolerance.
- TryTrimTo(GeoPoint3, LineEnd, out GeoPolyline3)
Shortens the chain at one end back to a point on it.
- TryTrimTo(GeoPoint3, LineEnd, out GeoPolyline3, Tolerance)
Shortens the chain at one end back to a point on it, within a tolerance.