Table of Contents

Class GeoPolylineArc2

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether a curved chain touches another shape.

public sealed class GeoPolylineArc2 : IEquatable<GeoPolylineArc2>
Inheritance
GeoPolylineArc2
Implements
Inherited Members
Extension Methods

Constructors

GeoPolylineArc2(GeoPolyline2)

Initializes a chain from a straight one, with no bulges.

GeoPolylineArc2(IEnumerable<GeoEdge2>)

Initializes a chain from edges that run end to end.

GeoPolylineArc2(IEnumerable<GeoPoint2>)

Initializes a chain of straight pieces.

GeoPolylineArc2(IEnumerable<GeoPoint2>, IEnumerable<double>)

Initializes a chain whose pieces may be arcs.

Properties

Bulges

Gets the bulge of each edge: the one at an index belongs to the edge leaving that vertex, so the last vertex of an open chain has none.

EdgeCount

Gets the number of edges of the chain, one fewer than its vertices.

EndPoint

Gets the last vertex, where the chain ends.

HasArcs

Gets a value indicating whether any edge of the chain is an arc.

this[int]

Gets the vertex at an index.

Length

Gets the length of the chain, measured along its arcs rather than across them.

MidPoint

Gets the point half way along the chain, measured along its arcs.

StartPoint

Gets the first vertex, where the chain starts.

VertexCount

Gets the number of vertices of the chain.

Vertices

Gets the vertices of the chain, in order.

Methods

BuildIndex()

Builds a spatial index over the edges of this chain, arcs and all, for asking it many questions.

Chamfer(double)

Chamfers every corner that has room for it, cutting the same distance along both edges.

Chamfer(double, double, Tolerance)

Chamfers every corner that has room for it, within a tolerance.

Clone()

Creates a copy of this chain holding its own arrays.

CollidesWith(GeoArc2)

Determines whether the chain touches or overlaps an arc.

CollidesWith(GeoArc2, Tolerance)

Determines whether the chain touches or overlaps an arc, within a tolerance.

CollidesWith(GeoCircle2)

Determines whether the chain touches or overlaps a circle.

CollidesWith(GeoCircle2, Tolerance)

Determines whether the chain touches or overlaps a circle, within a tolerance.

CollidesWith(GeoEdge2)

Checks whether this curved chain touches an edge.

CollidesWith(GeoEdge2, Tolerance)

Checks whether this curved chain touches an edge, within a tolerance.

CollidesWith(GeoFace2)

Checks whether this curved chain reaches the material of a face, using the default tolerance.

CollidesWith(GeoFace2, Tolerance)

Checks whether this curved chain reaches the material of a face, within a tolerance.

CollidesWith(GeoLine2)

Determines whether the chain touches or overlaps a straight segment.

CollidesWith(GeoLine2, Tolerance)

Determines whether the chain touches or overlaps a straight segment, within a tolerance.

CollidesWith(GeoPolygon2)

Determines whether the chain touches or overlaps a straight loop.

CollidesWith(GeoPolygon2, Tolerance)

Determines whether the chain touches or overlaps a straight loop, within a tolerance.

CollidesWith(GeoPolygonArc2)

Determines whether the chain touches or overlaps a loop that may curve.

CollidesWith(GeoPolygonArc2, Tolerance)

Determines whether the chain touches or overlaps a loop that may curve, within a tolerance.

CollidesWith(GeoPolyline2)

Determines whether the chain touches or overlaps a straight chain.

CollidesWith(GeoPolyline2, Tolerance)

Determines whether the chain touches or overlaps a straight chain, within a tolerance.

CollidesWith(GeoPolylineArc2)

Determines whether the chain touches or overlaps a chain that may curve.

CollidesWith(GeoPolylineArc2, Tolerance)

Determines whether the chain touches or overlaps a chain that may curve, within a tolerance.

CollidesWith(GeoRectangle2)

Determines whether this curved chain touches or overlaps a rectangle.

CollidesWith(GeoRectangle2, Tolerance)

Determines whether this curved chain touches or overlaps a rectangle, within a tolerance.

CollidesWith(GeoTriangle2)

Checks whether this curved chain touches a triangle, using the default tolerance.

CollidesWith(GeoTriangle2, Tolerance)

Checks whether this curved chain touches a triangle, within a tolerance.

DistanceTo(GeoArc2)

Gets the distance from the chain to an arc.

DistanceTo(GeoArc2, Tolerance)

Gets the distance from the chain to an arc, within a tolerance.

DistanceTo(GeoCircle2)

Gets the distance from the chain to a circle.

DistanceTo(GeoCircle2, Tolerance)

Gets the distance from the chain to a circle, within a tolerance.

DistanceTo(GeoEdge2)

Gets the distance from this curved chain to an edge.

DistanceTo(GeoEdge2, Tolerance)

Gets the distance from this curved chain to an edge, within a tolerance.

DistanceTo(GeoLine2)

Gets the distance from the chain to a straight segment.

DistanceTo(GeoLine2, Tolerance)

Gets the distance from the chain to a straight segment, within a tolerance.

DistanceTo(GeoPoint2)

Gets the distance from the chain to a point.

DistanceTo(GeoPoint2, Tolerance)

Gets the distance from the chain to a point, within a tolerance.

DistanceTo(GeoPolygon2)

Gets the distance from the chain to a straight loop.

DistanceTo(GeoPolygon2, Tolerance)

Gets the distance from the chain to a straight loop, within a tolerance.

DistanceTo(GeoPolygonArc2)

Gets the distance from the chain to a loop that may curve.

DistanceTo(GeoPolygonArc2, Tolerance)

Gets the distance from the chain to a loop that may curve, within a tolerance.

DistanceTo(GeoPolyline2)

Gets the distance from the chain to a straight chain.

DistanceTo(GeoPolyline2, Tolerance)

Gets the distance from the chain to a straight chain, within a tolerance.

DistanceTo(GeoPolylineArc2)

Gets the distance from the chain to a chain that may curve.

DistanceTo(GeoPolylineArc2, Tolerance)

Gets the distance from the chain to a chain that may curve, within a tolerance.

DistanceTo(GeoRectangle2)

Calculates the shortest distance from this curved chain to a rectangle.

DistanceTo(GeoRectangle2, Tolerance)

Calculates the shortest distance from this curved chain to a rectangle, within a tolerance.

DistanceTo(GeoTriangle2)

Gets the distance from this curved chain to a triangle.

DistanceTo(GeoTriangle2, Tolerance)

Gets the distance from this curved chain to a triangle, within a tolerance.

Equals(GeoPolylineArc2)

Determines whether another chain holds exactly the same vertices and bulges.

Equals(object)

Determines whether the specified object is an equal chain.

Extend(double, LineEnd)

Lengthens the chain along its end leg, round if that leg curves, keeping its radius.

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, each by its own radius.

Fillet(IReadOnlyList<double>, Tolerance)

Rounds the corners of the chain, each by its own radius, within a tolerance.

Fillet(double)

Rounds every corner that has room for it with an arc of a given radius.

Fillet(double, Tolerance)

Rounds every corner that has room for it with an arc of a given radius, within a tolerance.

Flatten()

Approximates the chain as a straight one, cutting each arc finely enough that it strays no further than the automatic share of its radius.

Flatten(double)

Approximates the chain as a straight one, cutting each arc so that it strays no further than a chord tolerance.

GetBulgeAt(int)

Gets the bulge of the edge leaving a vertex.

GetClosestEdge(GeoArc2)

Gets the edge of this chain nearest an arc.

GetClosestEdge(GeoArc2, Tolerance)

Gets the edge of this chain nearest an arc, within a tolerance.

GetClosestEdge(GeoCircle2)

Gets the edge of this chain nearest a circle.

GetClosestEdge(GeoCircle2, Tolerance)

Gets the edge of this chain nearest a circle, within a tolerance.

GetClosestEdge(GeoEdge2)

Gets the edge of this curved chain nearest an edge.

GetClosestEdge(GeoEdge2, Tolerance)

Gets the edge of this curved chain nearest an edge, within a tolerance.

GetClosestEdge(GeoLine2)

Gets the edge of this chain nearest a segment.

GetClosestEdge(GeoLine2, Tolerance)

Gets the edge of this chain nearest a segment, within a tolerance.

GetClosestEdge(GeoPoint2)

Gets the edge of this chain nearest a point.

GetClosestEdge(GeoPoint2, Tolerance)

Gets the edge of this chain nearest a point, within a tolerance.

GetClosestPointOnBoundary(GeoPoint2)

Gets the point of the chain nearest a point.

GetClosestPointOnBoundary(GeoPoint2, Tolerance)

Gets the point of the chain nearest a point, within a tolerance.

GetDistanceAtParameter(double)

Gets the distance along the chain at a normalized parameter.

GetDistanceAtPoint(GeoPoint2)

Gets how far along the chain the point nearest a point lies.

GetDistanceAtPoint(GeoPoint2, Tolerance)

Gets how far along the chain the point nearest a point lies, within a tolerance.

GetEdgeAt(int)

Gets the edge at an index.

GetEdges()

Enumerates the edges of the chain, in order.

GetHashCode()

Returns the hash code for this chain.

GetIntersections(GeoArc2)

Gets the points where the chain meets an arc.

GetIntersections(GeoArc2, Tolerance)

Gets the points where the chain meets an arc, within a tolerance.

GetIntersections(GeoCircle2)

Gets the points where the chain meets a circle.

GetIntersections(GeoCircle2, Tolerance)

Gets the points where the chain meets a circle, within a tolerance.

GetIntersections(GeoEdge2)

Gets every point where this curved chain crosses an edge.

GetIntersections(GeoEdge2, Tolerance)

Gets every point where this curved chain crosses an edge, within a tolerance.

GetIntersections(GeoFace2)

Gets every point where this curved chain crosses the boundary of a face, using the default tolerance.

GetIntersections(GeoFace2, Tolerance)

Gets every point where this curved chain crosses the boundary of a face, within a tolerance.

GetIntersections(GeoLine2)

Gets the points where the chain meets a straight segment.

GetIntersections(GeoLine2, Tolerance)

Gets the points where the chain meets a straight segment, within a tolerance.

GetIntersections(GeoPolygon2)

Gets the points where the chain meets a straight loop.

GetIntersections(GeoPolygon2, Tolerance)

Gets the points where the chain meets a straight loop, within a tolerance.

GetIntersections(GeoPolygonArc2)

Gets the points where the chain meets a loop that may curve.

GetIntersections(GeoPolygonArc2, Tolerance)

Gets the points where the chain meets a loop that may curve, within a tolerance.

GetIntersections(GeoPolyline2)

Gets the points where the chain meets a straight chain.

GetIntersections(GeoPolyline2, Tolerance)

Gets the points where the chain meets a straight chain, within a tolerance.

GetIntersections(GeoPolylineArc2)

Gets the points where the chain meets a chain that may curve.

GetIntersections(GeoPolylineArc2, Tolerance)

Gets the points where the chain meets a chain that may curve, within a tolerance.

GetIntersections(GeoRectangle2)

Gets the points where this curved chain meets a rectangle.

GetIntersections(GeoRectangle2, Tolerance)

Gets the points where this curved chain meets a rectangle, within a tolerance.

GetIntersections(GeoTriangle2)

Gets every point where this curved chain meets the edges of a triangle, using the default tolerance.

GetIntersections(GeoTriangle2, Tolerance)

Gets every point where this curved chain meets the edges of a triangle, within a tolerance.

GetParameterAtDistance(double)

Gets the normalized parameter at a distance along the chain.

GetParameterAtPoint(GeoPoint2)

Gets the normalized parameter of the point of the chain nearest a point.

GetParameterAtPoint(GeoPoint2, Tolerance)

Gets the normalized parameter of the point of the chain nearest a point, within a tolerance.

GetPointAtDistance(double)

Gets the point a distance along the chain.

GetPointAtParameter(double)

Gets the point at a normalized parameter along the chain, where 0 is its start and 1 its end.

GetShortestLineTo(GeoArc2)

Gets the shortest segment joining this curved chain to an arc.

GetShortestLineTo(GeoArc2, Tolerance)

Gets the shortest segment joining this curved chain to an arc, within a tolerance.

GetShortestLineTo(GeoCircle2)

Gets the shortest segment joining this curved chain to a circle.

GetShortestLineTo(GeoCircle2, Tolerance)

Gets the shortest segment joining this curved chain to a circle, within a tolerance.

GetShortestLineTo(GeoEdge2)

Gets the shortest segment leaving this curved chain and landing on an edge.

GetShortestLineTo(GeoEdge2, Tolerance)

Gets the shortest segment leaving this curved chain and landing on an edge, within a tolerance.

GetShortestLineTo(GeoFace2)

Gets the shortest segment leaving this curved chain and landing on the boundary of a face, using the default tolerance.

GetShortestLineTo(GeoFace2, Tolerance)

Gets the shortest segment leaving this curved chain and landing on the boundary of a face, within a tolerance.

GetShortestLineTo(GeoLine2)

Gets the shortest segment joining this curved chain to a segment.

GetShortestLineTo(GeoLine2, Tolerance)

Gets the shortest segment joining this curved chain to a segment, within a tolerance.

GetShortestLineTo(GeoPolygon2)

Gets the shortest segment joining this curved chain to a polygon.

GetShortestLineTo(GeoPolygon2, Tolerance)

Gets the shortest segment joining this curved chain to a polygon, within a tolerance.

GetShortestLineTo(GeoPolygonArc2)

Gets the shortest segment joining this curved chain to a curved loop.

GetShortestLineTo(GeoPolygonArc2, Tolerance)

Gets the shortest segment joining this curved chain to a curved loop, within a tolerance.

GetShortestLineTo(GeoPolyline2)

Gets the shortest segment joining this curved chain to a polyline.

GetShortestLineTo(GeoPolyline2, Tolerance)

Gets the shortest segment joining this curved chain to a polyline, within a tolerance.

GetShortestLineTo(GeoPolylineArc2)

Gets the shortest segment joining this curved chain to another curved chain.

GetShortestLineTo(GeoPolylineArc2, Tolerance)

Gets the shortest segment joining this curved chain to another curved chain, within a tolerance.

GetShortestLineTo(GeoRectangle2)

Gets the shortest segment joining this curved chain to a rectangle.

GetShortestLineTo(GeoRectangle2, Tolerance)

Gets the shortest segment joining this curved chain to a rectangle, within a tolerance.

GetShortestLineTo(GeoTriangle2)

Gets the shortest segment leaving this curved chain and landing on a triangle, using the default tolerance.

GetShortestLineTo(GeoTriangle2, Tolerance)

Gets the shortest segment leaving this curved chain and landing on a triangle, within a tolerance.

IsEqualTo(GeoPolylineArc2)

Determines whether another chain draws the same curve, within the default tolerance.

IsEqualTo(GeoPolylineArc2, Tolerance)

Determines whether another chain draws the same curve, within a tolerance.

IsPointOn(GeoPoint2)

Determines whether a point lies on the chain.

IsPointOn(GeoPoint2, Tolerance)

Determines whether a point lies on the chain, within a tolerance.

Locate(GeoPoint2)

Says where a point lies against the chain.

Locate(GeoPoint2, Tolerance)

Says where a point lies against the chain, within a tolerance.

Offset(double)

Offsets the chain, keeping its arcs as arcs.

Offset(double, OffsetJoin)

Offsets the chain, filling opened corners a given way.

Offset(double, OffsetJoin, Tolerance)

Offsets the chain, filling opened corners a given way, within a tolerance.

Offset(double, OffsetOptions)

Offsets the chain, with options.

Offset(double, OffsetOptions, Tolerance)

Offsets the chain, with options, within a tolerance.

Offset(double, Tolerance)

Offsets the chain, within a tolerance.

Reverse()

Gets the chain running the other way, from its end to its start.

RotateBy(double, GeoPoint2)

Gets the chain turned about a point.

SplitAtDistances(IEnumerable<double>)

Cuts the chain at distances along it.

SplitAtDistances(IEnumerable<double>, Tolerance)

Cuts the chain at distances along it, within a tolerance.

ToPolygonArc2()

Gets the loop that closes the chain, joining its last vertex back to its first.

ToPolyline3(GeoCoordinateSystem3)

Lays the chain out in a plane in space, cutting its arcs into straight pieces.

ToPolyline3(GeoCoordinateSystem3, double)

Lays the chain out in a plane in space, cutting its arcs no further than a chord tolerance from the curve.

ToString()

Describes the chain.

TransformBy(GeoTransform2)

Gets the chain under a transformation.

Translate(GeoVector2)

Gets the chain moved by a vector.

TryChamferAt(int, double, double, out GeoPolylineArc2)

Chamfers one corner of the chain, using the default tolerance.

TryChamferAt(int, double, double, out GeoPolylineArc2, Tolerance)

Chamfers one corner of the chain, within a tolerance.

TryFilletAt(int, double, out GeoPolylineArc2)

Rounds one corner of the chain, using the default tolerance.

TryFilletAt(int, double, out GeoPolylineArc2, Tolerance)

Rounds one corner of the chain, within a tolerance.

TryIntersectWith(GeoArc2, out GeoPoint2[])

Tries to find where this curved chain crosses a arc, using the default tolerance.

TryIntersectWith(GeoArc2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a arc, within a tolerance.

TryIntersectWith(GeoCircle2, out GeoPoint2[])

Tries to find where this curved chain crosses a circle, using the default tolerance.

TryIntersectWith(GeoCircle2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a circle, within a tolerance.

TryIntersectWith(GeoEdge2, out GeoPoint2[])

Tries to find where this curved chain crosses an edge.

TryIntersectWith(GeoEdge2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses an edge, within a tolerance.

TryIntersectWith(GeoLine2, out GeoPoint2[])

Tries to find where this curved chain crosses a segment, using the default tolerance.

TryIntersectWith(GeoLine2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a segment, within a tolerance.

TryIntersectWith(GeoPolygon2, out GeoPoint2[])

Tries to find where this curved chain crosses a polygon, using the default tolerance.

TryIntersectWith(GeoPolygon2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a polygon, within a tolerance.

TryIntersectWith(GeoPolygonArc2, out GeoPoint2[])

Tries to find where this curved chain crosses a curved loop, using the default tolerance.

TryIntersectWith(GeoPolygonArc2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a curved loop, within a tolerance.

TryIntersectWith(GeoPolyline2, out GeoPoint2[])

Tries to find where this curved chain crosses a polyline, using the default tolerance.

TryIntersectWith(GeoPolyline2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a polyline, within a tolerance.

TryIntersectWith(GeoPolylineArc2, out GeoPoint2[])

Tries to find where this curved chain crosses a curved chain, using the default tolerance.

TryIntersectWith(GeoPolylineArc2, out GeoPoint2[], Tolerance)

Tries to find where this curved chain crosses a curved chain, within a tolerance.

TrySplitAtDistance(double, out GeoPolylineArc2, out GeoPolylineArc2)

Cuts the chain in two at a distance along it.

TrySplitAtDistance(double, out GeoPolylineArc2, out GeoPolylineArc2, Tolerance)

Cuts the chain in two at a distance along it, within a tolerance.

TrySplitAtDistance(double, out GeoPolylineArc2[])

Splits the chain at an arc length from its start, the pieces as a list, using the default tolerance.

TrySplitAtDistance(double, out GeoPolylineArc2[], Tolerance)

Splits the chain at an arc length from its start, the pieces as a list, within a tolerance.

TrySplitBy(GeoArc2, out GeoPolylineArc2[])

Cuts the chain wherever it meets an arc.

TrySplitBy(GeoArc2, out GeoPolylineArc2[], Tolerance)

Cuts the chain wherever it meets an arc, within a tolerance.

TrySplitBy(GeoLine2, out GeoPolylineArc2[])

Cuts the chain wherever it meets a straight segment.

TrySplitBy(GeoLine2, out GeoPolylineArc2[], Tolerance)

Cuts the chain wherever it meets a straight segment, within a tolerance.

TrySplitBy(GeoPoint2, out GeoPolylineArc2, out GeoPolylineArc2)

Cuts the chain in two at a point on it.

TrySplitBy(GeoPoint2, out GeoPolylineArc2, out GeoPolylineArc2, Tolerance)

Cuts the chain in two at a point on it, within a tolerance.

TrySplitBy(GeoPoint2[], out GeoPolylineArc2[])

Cuts the chain at points on it.

TrySplitBy(GeoPolygon2, out GeoPolylineArc2[])

Cuts the chain wherever it meets a straight loop.

TrySplitBy(GeoPolygonArc2, out GeoPolylineArc2[])

Cuts the chain wherever it meets a loop that may curve.

TryTrimTo(GeoPoint2, LineEnd, out GeoPolylineArc2)

Shortens the chain at one end back to a point on it.

TryTrimTo(GeoPoint2, LineEnd, out GeoPolylineArc2, Tolerance)

Shortens the chain at one end back to a point on it, within a tolerance.

Operators

operator +(GeoPolylineArc2, GeoVector2)

Translates a chain by a vector.

operator ==(GeoPolylineArc2, GeoPolylineArc2)

Determines whether two chains hold exactly the same vertices and bulges.

operator !=(GeoPolylineArc2, GeoPolylineArc2)

Determines whether two chains hold different vertices or bulges.

operator -(GeoPolylineArc2, GeoVector2)

Translates a chain against a vector.