Table of Contents

Struct GeoCircle2

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether a circle touches another shape.

public readonly struct GeoCircle2 : IEquatable<GeoCircle2>
Implements
Inherited Members
Extension Methods

Constructors

GeoCircle2(GeoPoint2, double)

Initializes a new GeoCircle2 instance from a center point and radius.

GeoCircle2(double, double, double)

Initializes a new GeoCircle2 instance from center coordinates and radius.

Properties

Area

Gets the area of the circle.

Center

Gets the center point of the circle.

Diameter

Gets the diameter of the circle.

IsValid

Gets whether this is a shape a constructor could have made: the centre is a valid point and the radius a number of nought or more.

Length

Gets the length of the circle: its circumference. Named as it is on every other curve in the library, so that a length is asked for the same way whatever the shape.

Radius

Gets the radius of the circle.

Methods

Clone()

Creates a copy of this circle.

CollidesWith(GeoArc2)

Determines whether this circle touches or overlaps an arc.

CollidesWith(GeoArc2, Tolerance)

Determines whether this circle touches or overlaps an arc, within a tolerance.

CollidesWith(GeoCircle2)

Checks whether this circle collides with another circle using default tolerance.

CollidesWith(GeoCircle2, Tolerance)

Checks whether this circle collides with another circle within tolerance.

CollidesWith(GeoEdge2)

Checks whether this circle touches an edge.

CollidesWith(GeoEdge2, Tolerance)

Checks whether this circle touches an edge, within a tolerance.

CollidesWith(GeoFace2)

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

CollidesWith(GeoFace2, Tolerance)

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

CollidesWith(GeoLine2)

Checks whether this circle collides with a line segment using default tolerance.

CollidesWith(GeoLine2, Tolerance)

Checks whether this circle collides with a line segment within tolerance.

CollidesWith(GeoPolygon2)

Checks whether this circle collides with a polygon using default tolerance.

CollidesWith(GeoPolygon2, Tolerance)

Checks whether this circle collides with a polygon within tolerance.

CollidesWith(GeoPolygonArc2)

Determines whether this circle touches or overlaps a curved loop.

CollidesWith(GeoPolygonArc2, Tolerance)

Determines whether this circle touches or overlaps a curved loop, within a tolerance.

CollidesWith(GeoPolyline2)

Checks whether this circle collides with a polyline using default tolerance.

CollidesWith(GeoPolyline2, Tolerance)

Checks whether this circle collides with a polyline within tolerance.

CollidesWith(GeoPolylineArc2)

Determines whether this circle touches or overlaps a curved chain.

CollidesWith(GeoPolylineArc2, Tolerance)

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

CollidesWith(GeoRectangle2)

Checks whether this circle collides with a rotated rectangle using default tolerance.

CollidesWith(GeoRectangle2, Tolerance)

Checks whether this circle collides with a rotated rectangle within tolerance.

CollidesWith(GeoTriangle2)

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

CollidesWith(GeoTriangle2, Tolerance)

Checks whether this circle touches a triangle, within a tolerance.

Contains(GeoCircle2)

Checks whether the circle entirely contains another circle using default tolerance.

Contains(GeoCircle2, Tolerance)

Checks whether the circle entirely contains another circle within tolerance.

Contains(GeoLine2)

Checks whether the circle entirely contains a line segment using default tolerance.

Contains(GeoLine2, Tolerance)

Checks whether the circle entirely contains a line segment within tolerance.

Contains(GeoPoint2)

Checks whether the circle contains a point using default tolerance.

Contains(GeoPoint2, Tolerance)

Checks whether the circle contains a point within tolerance.

DistanceTo(GeoArc2)

Calculates the shortest distance from this circle to an arc.

DistanceTo(GeoArc2, Tolerance)

Calculates the shortest distance from this circle to an arc, within a tolerance.

DistanceTo(GeoCircle2)

Calculates the shortest boundary distance from this circle to another circle.

DistanceTo(GeoEdge2)

Gets the distance from this circle to an edge.

DistanceTo(GeoLine2)

Calculates the shortest boundary distance from this circle to a line segment.

DistanceTo(GeoPoint2)

Calculates the shortest boundary distance from this circle to a point.

DistanceTo(GeoPolygon2)

Calculates the shortest boundary distance from this circle to a polygon.

DistanceTo(GeoPolygonArc2)

Calculates the shortest distance from this circle to a curved loop.

DistanceTo(GeoPolygonArc2, Tolerance)

Calculates the shortest distance from this circle to a curved loop, within a tolerance.

DistanceTo(GeoPolyline2)

Calculates the shortest boundary distance from this circle to a polyline.

DistanceTo(GeoPolylineArc2)

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

DistanceTo(GeoPolylineArc2, Tolerance)

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

DistanceTo(GeoRectangle2)

Calculates the shortest boundary distance from this circle to a rectangle.

DistanceTo(GeoTriangle2)

Gets the distance from this circle to a triangle.

Equals(GeoCircle2)

Indicates whether the current circle is equal to another circle.

Equals(object)

Indicates whether this instance and a specified object are equal.

GetClosestEdge(GeoPolygon2)

Gets the edge of a polygon nearest this circle, using the default tolerance.

GetClosestEdge(GeoPolygonArc2)

Gets the edge of a curved loop nearest this circle, using the default tolerance.

GetClosestEdge(GeoPolygonArc2, Tolerance)

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

GetClosestEdge(GeoPolyline2)

Gets the edge of a polyline nearest this circle, using the default tolerance.

GetClosestEdge(GeoPolylineArc2)

Gets the edge of a curved chain nearest this circle, using the default tolerance.

GetClosestEdge(GeoPolylineArc2, Tolerance)

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

GetClosestEdge(GeoRectangle2)

Gets the edge of a rectangle nearest this circle, using the default tolerance.

GetClosestEdge(GeoTriangle2)

Gets the edge of a triangle closest to this circle.

GetClosestPointOnBoundary(GeoPoint2)

Gets the closest point on the circumference of this circle to a target point, including for points inside the circle.

GetDistanceAtParameter(double)

Gets the arc length from angle zero of this circle to a normalized parameter.

GetDistanceAtPoint(GeoPoint2)

Gets the arc length from angle zero of this circle to the point on it closest to the supplied point.

GetHashCode()

Returns the hash code for this instance.

GetIntersections(GeoArc2)

Gets the points where this circle meets an arc.

GetIntersections(GeoArc2, Tolerance)

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

GetIntersections(GeoCircle2)

Gets all intersection points with another circle using default tolerance.

GetIntersections(GeoCircle2, Tolerance)

Gets all intersection points with another circle within tolerance.

GetIntersections(GeoEdge2)

Gets every point where this circle crosses an edge.

GetIntersections(GeoEdge2, Tolerance)

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

GetIntersections(GeoFace2)

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

GetIntersections(GeoFace2, Tolerance)

Gets every point where this circle 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 circle meets a curved loop.

GetIntersections(GeoPolygonArc2, Tolerance)

Gets the points where this circle meets a curved loop, within a tolerance.

GetIntersections(GeoPolyline2)

Gets all intersection points with a polyline using default tolerance.

GetIntersections(GeoPolyline2, Tolerance)

Gets all intersection points with a polyline within tolerance.

GetIntersections(GeoPolylineArc2)

Gets the points where this circle meets a curved chain.

GetIntersections(GeoPolylineArc2, Tolerance)

Gets the points where this circle 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 circle meets the edges of a triangle, using the default tolerance.

GetIntersections(GeoTriangle2, Tolerance)

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

GetParameterAtDistance(double)

Gets the normalized parameter at an arc length measured from angle zero of this circle.

GetParameterAtPoint(GeoPoint2)

Gets the normalized parameter of the point on this circle closest to the supplied point.

GetPointAtDistance(double)

Gets the point at an arc length measured from angle zero of this circle.

GetPointAtParameter(double)

Gets the point at a normalized parameter along this circle, where 0 is angle zero and 1 is the end. Values outside [0, 1] wrap around, so 1.25 is the same position as 0.25.

GetShortestLineTo(GeoArc2)

Gets the shortest segment joining this circle to an arc.

GetShortestLineTo(GeoArc2, Tolerance)

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

GetShortestLineTo(GeoCircle2)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on another circle using default tolerance.

GetShortestLineTo(GeoCircle2, Tolerance)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on another circle within tolerance.

GetShortestLineTo(GeoEdge2)

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

GetShortestLineTo(GeoEdge2, Tolerance)

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

GetShortestLineTo(GeoFace2)

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

GetShortestLineTo(GeoFace2, Tolerance)

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

GetShortestLineTo(GeoLine2)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on a line segment using default tolerance.

GetShortestLineTo(GeoLine2, Tolerance)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on a line segment within tolerance.

GetShortestLineTo(GeoPolygon2)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on the boundary of a polygon using default tolerance.

GetShortestLineTo(GeoPolygon2, Tolerance)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on the boundary of a polygon within tolerance.

GetShortestLineTo(GeoPolygonArc2)

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

GetShortestLineTo(GeoPolygonArc2, Tolerance)

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

GetShortestLineTo(GeoPolyline2)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on a polyline using default tolerance.

GetShortestLineTo(GeoPolyline2, Tolerance)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on a polyline within tolerance.

GetShortestLineTo(GeoPolylineArc2)

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

GetShortestLineTo(GeoPolylineArc2, Tolerance)

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

GetShortestLineTo(GeoRectangle2)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on the boundary of a rectangle using default tolerance.

GetShortestLineTo(GeoRectangle2, Tolerance)

Finds the shortest line segment connecting a point on the circumference of this circle to a point on the boundary of a rectangle within tolerance.

GetShortestLineTo(GeoTriangle2)

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

GetShortestLineTo(GeoTriangle2, Tolerance)

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

IsEqualTo(GeoCircle2)

Determines whether another circle has the same centre and radius, within the default tolerance.

IsEqualTo(GeoCircle2, Tolerance)

Determines whether another circle has the same centre and radius, within a tolerance.

IsPointOn(GeoPoint2)

Checks whether a point lies on the circle circumference using default tolerance.

IsPointOn(GeoPoint2, Tolerance)

Checks whether a point lies on the circle circumference within tolerance.

Locate(GeoPoint2)

Classifies the location of a point relative to this circle (Inside, OutSide, or OnSide) using default tolerance.

Locate(GeoPoint2, Tolerance)

Classifies the location of a point relative to this circle (Inside, OutSide, or OnSide) within tolerance.

SignedDistanceTo(GeoPoint2)

Calculates the distance from this circle to a point, negative for a point within it.

SignedDistanceTo(GeoPoint2, Tolerance)

Calculates the distance from this circle to a point, negative for a point within it, within a tolerance.

ToMesh(MeshKind)

Breaks the disc 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 disc into faces as the options say, using the default tolerance.

ToMesh(MeshOptions, Tolerance)

Breaks the disc 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.

ToPolygon()

Approximates the circle as a polygon, cut finely enough that it strays no further from the circle than GeometryHelper.Internal.Tessellation.AutomaticChordRatio of its radius.

ToPolygon(int)

Approximates the circle as a polygon with a given number of edges.

ToPolygonByChordTolerance(double)

Approximates the circle as a polygon that strays no further from it than a chord tolerance.

ToPolygonBySpacing(double)

Approximates the circle as a polygon whose vertices are no further apart than a spacing.

ToPolyline()

Approximates the circle as a chain, cut by the automatic chord tolerance.

ToPolyline(int)

Approximates the circle as a chain with a given number of pieces.

ToPolylineByChordTolerance(double)

Approximates the circle as a chain that strays no further from it than a chord tolerance.

ToPolylineBySpacing(double)

Approximates the circle as a chain whose points are no further apart than a spacing.

ToRectangle(double)

Converts this circle into an oriented bounding GeoRectangle2 with the specified rotation angle.

ToString()

Returns the string representation of the circle.

TransformBy(GeoTransform2)

Applies a transformation to this circle.

Translate(GeoVector2)

Translates the circle by a displacement vector.

TriangulateSurface()

Breaks the disc into triangles fanned from its center, as many as ToPolygon() has edges, using the default tolerance.

TriangulateSurface(Tolerance)

Breaks the disc into triangles fanned from its center, as many as ToPolygon() has edges, within a tolerance.

TriangulateSurface(double)

Breaks the disc into triangles fanned from its center, the rim cut so that it strays from the circle no further than a chord tolerance, using the default tolerance.

TriangulateSurface(double, Tolerance)

Breaks the disc into triangles fanned from its center, the rim cut so that it strays from the circle no further than a chord tolerance, within a tolerance.

TryIntersectWith(GeoArc2, out GeoPoint2[])

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

TryIntersectWith(GeoArc2, out GeoPoint2[], Tolerance)

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

TryIntersectWith(GeoCircle2, out GeoPoint2[])

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

TryIntersectWith(GeoCircle2, out GeoPoint2[], Tolerance)

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

TryIntersectWith(GeoEdge2, out GeoPoint2[])

Tries to find where this circle crosses an edge.

TryIntersectWith(GeoEdge2, out GeoPoint2[], Tolerance)

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

TryIntersectWith(GeoLine2, out GeoPoint2[])

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

TryIntersectWith(GeoLine2, out GeoPoint2[], Tolerance)

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

TryIntersectWith(GeoPolygonArc2, out GeoPoint2[])

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

TryIntersectWith(GeoPolygonArc2, out GeoPoint2[], Tolerance)

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

TryIntersectWith(GeoPolylineArc2, out GeoPoint2[])

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

TryIntersectWith(GeoPolylineArc2, out GeoPoint2[], Tolerance)

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

TryOffset(double, out GeoCircle2)

Grows this circle by a distance, or shrinks it when the distance is negative, using default tolerance.

TryOffset(double, out GeoCircle2, Tolerance)

Grows this circle by a distance, or shrinks it when the distance is negative, within tolerance.

Operators

operator +(GeoCircle2, GeoVector2)

Translates a circle by a vector.

operator ==(GeoCircle2, GeoCircle2)

Compares two GeoCircle2 instances for equality.

operator !=(GeoCircle2, GeoCircle2)

Compares two GeoCircle2 instances for inequality.

operator -(GeoCircle2, GeoVector2)

Translates a circle backwards by a vector.