Class GeoPolygonArc2
- Namespace
- GeometryHelper.Geometry
- Assembly
- GeometryHelper.dll
Whether a curved loop touches another shape.
public sealed class GeoPolygonArc2 : IEquatable<GeoPolygonArc2>
- Inheritance
-
GeoPolygonArc2
- Implements
- Inherited Members
- Extension Methods
Constructors
- GeoPolygonArc2(GeoPolygon2)
Initializes a loop from a straight polygon, with no bulges.
- GeoPolygonArc2(IEnumerable<GeoPoint2>)
Initializes a loop of straight edges.
- GeoPolygonArc2(IEnumerable<GeoPoint2>, IEnumerable<double>)
Initializes a loop whose edges may be arcs.
Properties
- Area
Gets the area the loop encloses, whichever way round it runs.
- Bulges
Gets the bulge of each edge: the one at an index belongs to the edge leaving that vertex, and the last belongs to the edge closing the loop.
- Centroid
Gets the geometric centroid of the loop.
- EdgeCount
Gets the number of edges of the loop, the same as its vertices because it closes.
- HasArcs
Gets a value indicating whether any edge of the loop is an arc.
- IsClockwise
Gets a value indicating whether the vertices of the loop run clockwise.
- this[int]
Gets the vertex at an index.
- Length
Gets the length round the loop, measured along its arcs rather than across them.
- SignedArea
Gets the signed area the loop encloses, positive when its vertices run counter-clockwise.
- VertexCount
Gets the number of vertices of the loop.
- Vertices
Gets the vertices of the loop, in order.
Methods
- BuildIndex()
Builds a spatial index over the edges of this loop, 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 loop holding its own arrays.
- CollidesWith(GeoArc2)
Determines whether the loop touches or overlaps an arc.
- CollidesWith(GeoArc2, Tolerance)
Determines whether the loop touches or overlaps an arc, within a tolerance.
- CollidesWith(GeoCircle2)
Determines whether the loop touches or overlaps a circle.
- CollidesWith(GeoCircle2, Tolerance)
Determines whether the loop touches or overlaps a circle, within a tolerance.
- CollidesWith(GeoEdge2)
Checks whether this curved loop touches an edge.
- CollidesWith(GeoEdge2, Tolerance)
Checks whether this curved loop touches an edge, within a tolerance.
- CollidesWith(GeoFace2)
Checks whether this curved loop reaches the material of a face, using the default tolerance.
- CollidesWith(GeoFace2, Tolerance)
Checks whether this curved loop reaches the material of a face, within a tolerance.
- CollidesWith(GeoLine2)
Determines whether the loop touches or overlaps a straight segment.
- CollidesWith(GeoLine2, Tolerance)
Determines whether the loop touches or overlaps a straight segment, within a tolerance.
- CollidesWith(GeoPolygon2)
Determines whether the loop touches or overlaps a straight loop.
- CollidesWith(GeoPolygon2, Tolerance)
Determines whether the loop touches or overlaps a straight loop, within a tolerance.
- CollidesWith(GeoPolygonArc2)
Determines whether the loop touches or overlaps a loop that may curve.
- CollidesWith(GeoPolygonArc2, Tolerance)
Determines whether the loop touches or overlaps a loop that may curve, within a tolerance.
- CollidesWith(GeoPolyline2)
Determines whether the loop touches or overlaps a straight chain.
- CollidesWith(GeoPolyline2, Tolerance)
Determines whether the loop touches or overlaps a straight chain, within a tolerance.
- CollidesWith(GeoPolylineArc2)
Determines whether the loop touches or overlaps a chain that may curve.
- CollidesWith(GeoPolylineArc2, Tolerance)
Determines whether the loop touches or overlaps a chain that may curve, within a tolerance.
- CollidesWith(GeoRectangle2)
Determines whether this curved loop touches or overlaps a rectangle.
- CollidesWith(GeoRectangle2, Tolerance)
Determines whether this curved loop touches or overlaps a rectangle, within a tolerance.
- CollidesWith(GeoTriangle2)
Checks whether this curved loop touches a triangle, using the default tolerance.
- CollidesWith(GeoTriangle2, Tolerance)
Checks whether this curved loop touches a triangle, within a tolerance.
- Contains(GeoPoint2)
Determines whether the loop encloses a point, counting its boundary as inside.
- Contains(GeoPoint2, Tolerance)
Determines whether the loop encloses a point, within a tolerance.
- DistanceTo(GeoArc2)
Gets the distance from the loop to an arc.
- DistanceTo(GeoArc2, Tolerance)
Gets the distance from the loop to an arc, within a tolerance.
- DistanceTo(GeoCircle2)
Gets the distance from the loop to a circle.
- DistanceTo(GeoCircle2, Tolerance)
Gets the distance from the loop to a circle, within a tolerance.
- DistanceTo(GeoEdge2)
Gets the distance from this curved loop to an edge.
- DistanceTo(GeoEdge2, Tolerance)
Gets the distance from this curved loop to an edge, within a tolerance.
- DistanceTo(GeoLine2)
Gets the distance from the loop to a straight segment.
- DistanceTo(GeoLine2, Tolerance)
Gets the distance from the loop to a straight segment, within a tolerance.
- DistanceTo(GeoPoint2)
Gets the distance from the loop to a point.
- DistanceTo(GeoPoint2, Tolerance)
Gets the distance from the loop to a point, within a tolerance.
- DistanceTo(GeoPolygon2)
Gets the distance from the loop to a straight loop.
- DistanceTo(GeoPolygon2, Tolerance)
Gets the distance from the loop to a straight loop, within a tolerance.
- DistanceTo(GeoPolygonArc2)
Gets the distance from the loop to a loop that may curve.
- DistanceTo(GeoPolygonArc2, Tolerance)
Gets the distance from the loop to a loop that may curve, within a tolerance.
- DistanceTo(GeoPolyline2)
Gets the distance from the loop to a straight chain.
- DistanceTo(GeoPolyline2, Tolerance)
Gets the distance from the loop to a straight chain, within a tolerance.
- DistanceTo(GeoPolylineArc2)
Gets the distance from the loop to a chain that may curve.
- DistanceTo(GeoPolylineArc2, Tolerance)
Gets the distance from the loop to a chain that may curve, within a tolerance.
- DistanceTo(GeoRectangle2)
Calculates the shortest distance from this curved loop to a rectangle.
- DistanceTo(GeoRectangle2, Tolerance)
Calculates the shortest distance from this curved loop to a rectangle, within a tolerance.
- DistanceTo(GeoTriangle2)
Gets the distance from this curved loop to a triangle.
- DistanceTo(GeoTriangle2, Tolerance)
Gets the distance from this curved loop to a triangle, within a tolerance.
- Equals(GeoPolygonArc2)
Determines whether another loop holds exactly the same vertices and bulges.
- Equals(object)
Determines whether the specified object is an equal loop.
- Fillet(IReadOnlyList<double>)
Rounds the corners of the loop, each by its own radius.
- Fillet(IReadOnlyList<double>, Tolerance)
Rounds the corners of the loop, 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 loop as a straight polygon, cutting each arc finely enough that it strays no further than the automatic share of its radius.
- Flatten(double)
Approximates the loop as a straight polygon, 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 loop nearest an arc.
- GetClosestEdge(GeoArc2, Tolerance)
Gets the edge of this loop nearest an arc, within a tolerance.
- GetClosestEdge(GeoCircle2)
Gets the edge of this loop nearest a circle.
- GetClosestEdge(GeoCircle2, Tolerance)
Gets the edge of this loop nearest a circle, within a tolerance.
- GetClosestEdge(GeoEdge2)
Gets the edge of this curved loop nearest an edge.
- GetClosestEdge(GeoEdge2, Tolerance)
Gets the edge of this curved loop nearest an edge, within a tolerance.
- GetClosestEdge(GeoLine2)
Gets the edge of this loop nearest a segment.
- GetClosestEdge(GeoLine2, Tolerance)
Gets the edge of this loop nearest a segment, within a tolerance.
- GetClosestEdge(GeoPoint2)
Gets the edge of this loop nearest a point.
- GetClosestEdge(GeoPoint2, Tolerance)
Gets the edge of this loop nearest a point, within a tolerance.
- GetClosestPointOnBoundary(GeoPoint2)
Gets the point of the loop nearest a point.
- GetClosestPointOnBoundary(GeoPoint2, Tolerance)
Gets the point of the loop nearest a point, within a tolerance.
- GetDistanceAtParameter(double)
Gets the distance round the loop at a normalized parameter.
- GetDistanceAtPoint(GeoPoint2)
Gets how far round the loop the point nearest a point lies.
- GetDistanceAtPoint(GeoPoint2, Tolerance)
Gets how far round the loop the point nearest a point lies, within a tolerance.
- GetEdgeAt(int)
Gets the edge at an index; the last one closes the loop.
- GetEdges()
Enumerates the edges of the loop, in order, ending with the one that closes it.
- GetHashCode()
Returns the hash code for this loop.
- GetIntersections(GeoArc2)
Gets the points where the loop meets an arc.
- GetIntersections(GeoArc2, Tolerance)
Gets the points where the loop meets an arc, within a tolerance.
- GetIntersections(GeoCircle2)
Gets the points where the loop meets a circle.
- GetIntersections(GeoCircle2, Tolerance)
Gets the points where the loop meets a circle, within a tolerance.
- GetIntersections(GeoEdge2)
Gets every point where this curved loop crosses an edge.
- GetIntersections(GeoEdge2, Tolerance)
Gets every point where this curved loop crosses an edge, within a tolerance.
- GetIntersections(GeoFace2)
Gets every point where this curved loop crosses the boundary of a face, using the default tolerance.
- GetIntersections(GeoFace2, Tolerance)
Gets every point where this curved loop crosses the boundary of a face, within a tolerance.
- GetIntersections(GeoLine2)
Gets the points where the loop meets a straight segment.
- GetIntersections(GeoLine2, Tolerance)
Gets the points where the loop meets a straight segment, within a tolerance.
- GetIntersections(GeoPolygon2)
Gets the points where the loop meets a straight loop.
- GetIntersections(GeoPolygon2, Tolerance)
Gets the points where the loop meets a straight loop, within a tolerance.
- GetIntersections(GeoPolygonArc2)
Gets the points where the loop meets a loop that may curve.
- GetIntersections(GeoPolygonArc2, Tolerance)
Gets the points where the loop meets a loop that may curve, within a tolerance.
- GetIntersections(GeoPolyline2)
Gets the points where the loop meets a straight chain.
- GetIntersections(GeoPolyline2, Tolerance)
Gets the points where the loop meets a straight chain, within a tolerance.
- GetIntersections(GeoPolylineArc2)
Gets the points where the loop meets a chain that may curve.
- GetIntersections(GeoPolylineArc2, Tolerance)
Gets the points where the loop meets a chain that may curve, within a tolerance.
- GetIntersections(GeoRectangle2)
Gets the points where this curved loop meets a rectangle.
- GetIntersections(GeoRectangle2, Tolerance)
Gets the points where this curved loop meets a rectangle, within a tolerance.
- GetIntersections(GeoTriangle2)
Gets every point where this curved loop meets the edges of a triangle, using the default tolerance.
- GetIntersections(GeoTriangle2, Tolerance)
Gets every point where this curved loop meets the edges of a triangle, within a tolerance.
- GetParameterAtDistance(double)
Gets the normalized parameter at a distance round the loop.
- GetParameterAtPoint(GeoPoint2)
Gets the normalized parameter of the point of the loop nearest a point.
- GetParameterAtPoint(GeoPoint2, Tolerance)
Gets the normalized parameter of the point of the loop nearest a point, within a tolerance.
- GetPointAtDistance(double)
Gets the point a distance round the loop.
- GetPointAtParameter(double)
Gets the point at a normalized parameter round the loop, where 0 is its start and 1 its end.
- GetShortestLineTo(GeoArc2)
Gets the shortest segment joining this curved loop to an arc.
- GetShortestLineTo(GeoArc2, Tolerance)
Gets the shortest segment joining this curved loop to an arc, within a tolerance.
- GetShortestLineTo(GeoCircle2)
Gets the shortest segment joining this curved loop to a circle.
- GetShortestLineTo(GeoCircle2, Tolerance)
Gets the shortest segment joining this curved loop to a circle, within a tolerance.
- GetShortestLineTo(GeoEdge2)
Gets the shortest segment leaving this curved loop and landing on an edge.
- GetShortestLineTo(GeoEdge2, Tolerance)
Gets the shortest segment leaving this curved loop and landing on an edge, within a tolerance.
- GetShortestLineTo(GeoFace2)
Gets the shortest segment leaving this curved loop and landing on the boundary of a face, using the default tolerance.
- GetShortestLineTo(GeoFace2, Tolerance)
Gets the shortest segment leaving this curved loop and landing on the boundary of a face, within a tolerance.
- GetShortestLineTo(GeoLine2)
Gets the shortest segment joining this curved loop to a segment.
- GetShortestLineTo(GeoLine2, Tolerance)
Gets the shortest segment joining this curved loop to a segment, within a tolerance.
- GetShortestLineTo(GeoPolygon2)
Gets the shortest segment joining this curved loop to a polygon.
- GetShortestLineTo(GeoPolygon2, Tolerance)
Gets the shortest segment joining this curved loop to a polygon, within a tolerance.
- GetShortestLineTo(GeoPolygonArc2)
Gets the shortest segment joining this curved loop to another curved loop.
- GetShortestLineTo(GeoPolygonArc2, Tolerance)
Gets the shortest segment joining this curved loop to another curved loop, within a tolerance.
- GetShortestLineTo(GeoPolyline2)
Gets the shortest segment joining this curved loop to a polyline.
- GetShortestLineTo(GeoPolyline2, Tolerance)
Gets the shortest segment joining this curved loop to a polyline, within a tolerance.
- GetShortestLineTo(GeoPolylineArc2)
Gets the shortest segment joining this curved loop to a curved chain.
- GetShortestLineTo(GeoPolylineArc2, Tolerance)
Gets the shortest segment joining this curved loop to a curved chain, within a tolerance.
- GetShortestLineTo(GeoRectangle2)
Gets the shortest segment joining this curved loop to a rectangle.
- GetShortestLineTo(GeoRectangle2, Tolerance)
Gets the shortest segment joining this curved loop to a rectangle, within a tolerance.
- GetShortestLineTo(GeoTriangle2)
Gets the shortest segment leaving this curved loop and landing on a triangle, using the default tolerance.
- GetShortestLineTo(GeoTriangle2, Tolerance)
Gets the shortest segment leaving this curved loop and landing on a triangle, within a tolerance.
- Intersect(GeoPolygon2)
Gets what this loop and a straight one both cover.
- Intersect(GeoPolygonArc2)
Gets what this loop and another both cover, with the arcs cut into straight pieces first.
- IsEqualTo(GeoPolygonArc2)
Determines whether another loop draws the same shape, within the default tolerance.
- IsEqualTo(GeoPolygonArc2, Tolerance)
Determines whether another loop draws the same shape, within a tolerance.
- IsPointOn(GeoPoint2)
Determines whether a point lies on the loop.
- IsPointOn(GeoPoint2, Tolerance)
Determines whether a point lies on the loop, within a tolerance.
- IsSimple()
Determines whether the loop crosses itself nowhere.
- IsSimple(Tolerance)
Determines whether the loop crosses itself nowhere, within a tolerance.
- Locate(GeoPoint2)
Says where a point lies against the loop.
- Locate(GeoPoint2, Tolerance)
Says where a point lies against the loop, within a tolerance.
- Offset(double)
Offsets the loop, keeping its arcs as arcs.
- Offset(double, OffsetJoin)
Offsets the loop, filling opened corners a given way.
- Offset(double, OffsetJoin, Tolerance)
Offsets the loop, filling opened corners a given way, within a tolerance.
- Offset(double, OffsetOptions)
Offsets the loop, with options.
- Offset(double, OffsetOptions, Tolerance)
Offsets the loop, with options, within a tolerance.
- Offset(double, Tolerance)
Offsets the loop, within a tolerance.
- Reverse()
Gets the loop running the other way round.
- RotateBy(double, GeoPoint2)
Gets the loop turned about a point.
- SignedDistanceTo(GeoPoint2)
Calculates the distance from this loop to a point, negative for a point within it.
- SignedDistanceTo(GeoPoint2, Tolerance)
Calculates the distance from this loop to a point, negative for a point within it, within a tolerance.
- SplitAtDistances(IEnumerable<double>)
Cuts the loop at distances round it.
- SplitAtDistances(IEnumerable<double>, Tolerance)
Cuts the loop at distances round it, within a tolerance.
- Subtract(GeoPolygon2)
Gets this loop with a straight one taken out of it.
- Subtract(GeoPolygonArc2)
Gets this loop with another taken out of it, with the arcs cut into straight pieces first.
- ToMesh(MeshKind)
Breaks the loop into faces of a kind, using the default tolerance. A grid needs the size of its cells, which ToMesh(MeshOptions) takes.
- ToMesh(MeshOptions)
Breaks the loop into faces as the options say, using the default tolerance.
- ToMesh(MeshOptions, Tolerance)
Breaks the loop into faces as the options say, within a tolerance: triangles, the cells of a grid, strips or convex pieces, each a simple polygon with no hole, counter-clockwise, meeting its neighbours edge to edge.
- ToPolygon3(GeoCoordinateSystem3)
Lays the loop out in a plane in space, cutting its arcs into straight pieces.
- ToPolygon3(GeoCoordinateSystem3, double)
Lays the loop out in a plane in space, cutting its arcs no further than a chord tolerance from the curve.
- ToPolylineArc2()
Gets the loop opened up into a chain, with its first vertex repeated at the end.
- ToString()
Describes the loop.
- TransformBy(GeoTransform2)
Gets the loop under a transformation.
- Translate(GeoVector2)
Gets the loop moved by a vector.
- TriangulateSurface()
Breaks the loop into triangles that each lie within it, each arc cut finely enough that it strays no further than the automatic share of its radius, using the default tolerance.
- TriangulateSurface(Tolerance)
Breaks the loop into triangles that each lie within it, each arc cut finely enough that it strays no further than the automatic share of its radius, within a tolerance.
- TriangulateSurface(double)
Breaks the loop into triangles that each lie within it, each arc cut so that it strays no further than a chord tolerance, using the default tolerance.
- TriangulateSurface(double, Tolerance)
Breaks the loop into triangles that each lie within it, each arc cut so that it strays no further than a chord tolerance, within a tolerance.
- TryChamferAt(int, double, double, out GeoPolygonArc2)
Chamfers one corner of the loop, using the default tolerance.
- TryChamferAt(int, double, double, out GeoPolygonArc2, Tolerance)
Chamfers one corner of the loop, within a tolerance.
- TryFilletAt(int, double, out GeoPolygonArc2)
Rounds one corner of the loop, using the default tolerance.
- TryFilletAt(int, double, out GeoPolygonArc2, Tolerance)
Rounds one corner of the loop, within a tolerance.
- TryIntersectWith(GeoArc2, out GeoPoint2[])
Tries to find where this curved loop crosses a arc, using the default tolerance.
- TryIntersectWith(GeoArc2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a arc, within a tolerance.
- TryIntersectWith(GeoCircle2, out GeoPoint2[])
Tries to find where this curved loop crosses a circle, using the default tolerance.
- TryIntersectWith(GeoCircle2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a circle, within a tolerance.
- TryIntersectWith(GeoEdge2, out GeoPoint2[])
Tries to find where this curved loop crosses an edge.
- TryIntersectWith(GeoEdge2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses an edge, within a tolerance.
- TryIntersectWith(GeoLine2, out GeoPoint2[])
Tries to find where this curved loop crosses a segment, using the default tolerance.
- TryIntersectWith(GeoLine2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a segment, within a tolerance.
- TryIntersectWith(GeoPolygon2, out GeoPoint2[])
Tries to find where this curved loop crosses a polygon, using the default tolerance.
- TryIntersectWith(GeoPolygon2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a polygon, within a tolerance.
- TryIntersectWith(GeoPolygonArc2, out GeoPoint2[])
Tries to find where this curved loop crosses a curved loop, using the default tolerance.
- TryIntersectWith(GeoPolygonArc2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a curved loop, within a tolerance.
- TryIntersectWith(GeoPolyline2, out GeoPoint2[])
Tries to find where this curved loop crosses a polyline, using the default tolerance.
- TryIntersectWith(GeoPolyline2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a polyline, within a tolerance.
- TryIntersectWith(GeoPolylineArc2, out GeoPoint2[])
Tries to find where this curved loop crosses a curved chain, using the default tolerance.
- TryIntersectWith(GeoPolylineArc2, out GeoPoint2[], Tolerance)
Tries to find where this curved loop crosses a curved chain, within a tolerance.
- TrySplitBy(GeoLine2, out GeoPolylineArc2[])
Cuts the loop wherever it meets a straight segment.
- TrySplitBy(GeoLine2, out GeoPolylineArc2[], Tolerance)
Cuts the loop wherever it meets a straight segment, within a tolerance.
- TrySplitBy(GeoPolygon2, out GeoPolylineArc2[])
Cuts the loop wherever it meets a straight loop.
- Union(GeoPolygon2)
Gets this loop and a straight one together.
- Union(GeoPolygonArc2)
Gets this loop and another together, with the arcs cut into straight pieces first.
- Xor(GeoPolygon2)
Gets what this loop covers and a straight one does not, and the other way round.
- Xor(GeoPolygonArc2)
Gets what this loop covers and another does not, and the other way round.
Operators
- operator +(GeoPolygonArc2, GeoVector2)
Translates a loop by a vector.
- operator ==(GeoPolygonArc2, GeoPolygonArc2)
Determines whether two loops hold exactly the same vertices and bulges.
- operator !=(GeoPolygonArc2, GeoPolygonArc2)
Determines whether two loops hold different vertices or bulges.
- operator -(GeoPolygonArc2, GeoVector2)
Translates a loop against a vector.