Table of Contents

Struct GeoCircle3

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether a circle touches another shape.

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

Constructors

GeoCircle3(GeoPlane3, double)

Initializes a new circle lying in a given plane.

GeoCircle3(GeoPoint3, GeoVector3, double)

Initializes a new circle.

Properties

Area

Gets the area of the disc.

Center

Gets the centre 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, the normal of unit length and the radius a positive number.

Length

Gets the length of the circumference.

Normal

Gets the unit normal of the plane carrying the circle.

Radius

Gets the radius of the circle.

Methods

Clone()

Creates a copy of this circle.

CollidesWith(GeoAabb3)

Checks whether this circle touches an axis-aligned box, using the default tolerance.

CollidesWith(GeoAabb3, Tolerance)

Checks whether this circle touches an axis-aligned box, within a tolerance.

CollidesWith(GeoArc3)

Checks whether this circle touches an arc, using the default tolerance.

CollidesWith(GeoArc3, Tolerance)

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

CollidesWith(GeoCircle3)

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

CollidesWith(GeoCircle3, Tolerance)

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

CollidesWith(GeoEdge3)

Checks whether this circle touches an edge.

CollidesWith(GeoEdge3, Tolerance)

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

CollidesWith(GeoFace3)

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

CollidesWith(GeoFace3, Tolerance)

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

CollidesWith(GeoLine3)

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

CollidesWith(GeoLine3, Tolerance)

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

CollidesWith(GeoObb3)

Checks whether this circle touches an oriented box, using the default tolerance.

CollidesWith(GeoObb3, Tolerance)

Checks whether this circle touches an oriented box, within a tolerance.

CollidesWith(GeoPlane3)

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

CollidesWith(GeoPlane3, Tolerance)

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

CollidesWith(GeoPolygon3)

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

CollidesWith(GeoPolygon3, Tolerance)

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

CollidesWith(GeoPolygonArc3)

Checks whether this circle touches a curved loop.

CollidesWith(GeoPolygonArc3, Tolerance)

Checks whether this circle touches a curved loop, within a tolerance.

CollidesWith(GeoPolylineArc3)

Checks whether this circle touches a curved chain.

CollidesWith(GeoPolylineArc3, Tolerance)

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

CollidesWith(GeoRay3)

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

CollidesWith(GeoRay3, Tolerance)

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

CollidesWith(GeoSolid3)

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

CollidesWith(GeoSolid3, Tolerance)

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

CollidesWith(GeoTriangle3)

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

CollidesWith(GeoTriangle3, Tolerance)

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

Contains(GeoPoint3)

Checks whether this disc holds a point, using the default tolerance.

Contains(GeoPoint3, Tolerance)

Checks whether this disc holds a point, within a tolerance.

DistanceTo(GeoPoint3)

Calculates the shortest distance from this disc to a point.

Equals(GeoCircle3)

Determines whether another circle has exactly the same centre, normal and radius.

Equals(object)

Determines whether the specified object is equal to the current circle.

GetAabb()

Gets the axis-aligned bounding box enclosing this circle.

GetClosestPointOnBoundary(GeoPoint3)

Gets the point on the circumference closest to a target point.

GetClosestPointOnSurface(GeoPoint3)

Gets the point of this disc closest to a target point, read as a filled surface.

GetDistanceAtParameter(double)

Gets the arc length from the zero parameter to a normalized parameter around the circumference.

GetDistanceAtPoint(GeoPoint3)

Gets the arc length from the zero parameter to the point on the circumference closest to the supplied point.

GetDistanceAtPoint(GeoPoint3, Tolerance)

Gets the arc length from the zero parameter to the point on the circumference closest to the supplied point, within a tolerance.

GetHashCode()

Returns the hash code for this instance.

GetIntersections(GeoAabb3)

Gets every point where this circle crosses the surface of an axis-aligned box, using the default tolerance.

GetIntersections(GeoAabb3, Tolerance)

Gets every point where this circle crosses the surface of an axis-aligned box, within a tolerance.

GetIntersections(GeoArc3)

Gets every point where this circle crosses an arc, using the default tolerance.

GetIntersections(GeoArc3, Tolerance)

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

GetIntersections(GeoCircle3)

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

GetIntersections(GeoCircle3, Tolerance)

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

GetIntersections(GeoEdge3)

Gets every point where an edge crosses this circle.

GetIntersections(GeoEdge3, Tolerance)

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

GetIntersections(GeoFace3)

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

GetIntersections(GeoFace3, Tolerance)

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

GetIntersections(GeoLine3)

Gets every point where this circle crosses a segment, using the default tolerance.

GetIntersections(GeoLine3, Tolerance)

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

GetIntersections(GeoObb3)

Gets every point where this circle crosses the surface of an oriented box, using the default tolerance.

GetIntersections(GeoObb3, Tolerance)

Gets every point where this circle crosses the surface of an oriented box, within a tolerance.

GetIntersections(GeoPlane3)

Gets every point where this circle crosses a plane, using the default tolerance.

GetIntersections(GeoPlane3, Tolerance)

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

GetIntersections(GeoPolygon3)

Gets every point where this circle crosses a polygon, using the default tolerance.

GetIntersections(GeoPolygon3, Tolerance)

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

GetIntersections(GeoPolygonArc3)

Gets every point where a curved loop crosses this circle.

GetIntersections(GeoPolygonArc3, Tolerance)

Gets every point where a curved loop crosses this circle, within a tolerance.

GetIntersections(GeoPolylineArc3)

Gets every point where a curved chain crosses this circle.

GetIntersections(GeoPolylineArc3, Tolerance)

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

GetIntersections(GeoRay3)

Gets every point where this circle crosses a ray, using the default tolerance.

GetIntersections(GeoRay3, Tolerance)

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

GetIntersections(GeoSolid3)

Gets every point where this circle crosses the surface of a solid, using the default tolerance.

GetIntersections(GeoSolid3, Tolerance)

Gets every point where this circle crosses the surface of a solid, within a tolerance.

GetIntersections(GeoTriangle3)

Gets every point where this circle crosses a triangle, using the default tolerance.

GetIntersections(GeoTriangle3, Tolerance)

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

GetParameterAtDistance(double)

Gets the normalized parameter at an arc length measured around the circumference.

GetParameterAtPoint(GeoPoint3)

Gets the normalized parameter of the point on the circumference closest to the supplied point.

GetParameterAtPoint(GeoPoint3, Tolerance)

Gets the normalized parameter of the point on the circumference closest to the supplied point, within a tolerance.

GetPlane()

Gets the plane carrying the circle.

GetPointAtAngle(double)

Gets the point on the circumference at a given angle.

GetPointAtDistance(double)

Gets the point on the circumference at an arc length measured from the zero parameter.

GetPointAtParameter(double)

Gets the point on the circumference at a normalized parameter, where 0 and 1 are the same point. The parameter wraps, so 1.25 gives the same point as 0.25.

IsEqualTo(GeoCircle3)

Compares whether this circle equals another using the default tolerance.

IsEqualTo(GeoCircle3, Tolerance)

Compares whether this circle equals another within a tolerance.

IsPointOn(GeoPoint3)

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

IsPointOn(GeoPoint3, Tolerance)

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

Locate(GeoPoint3)

Locates a point relative to this disc, using the default tolerance.

Locate(GeoPoint3, Tolerance)

Locates a point relative to this disc, within a tolerance.

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.

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.

ToString()

Returns a string that represents the current circle.

TransformBy(GeoTransform3)

Applies a transformation to this circle.

Translate(GeoVector3)

Moves the circle by a vector.

TryIntersectWith(GeoAabb3, out GeoPoint3[])

Tries to find where this circle crosses the surface of an axis-aligned box, using the default tolerance.

TryIntersectWith(GeoAabb3, out GeoPoint3[], Tolerance)

Tries to find where this circle crosses the surface of an axis-aligned box, within a tolerance.

TryIntersectWith(GeoArc3, out GeoPoint3[])

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

TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, out GeoPoint3[])

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

TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoEdge3, out GeoPoint3[])

Tries to find where an edge crosses this circle.

TryIntersectWith(GeoEdge3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoFace3, out GeoPoint3[])

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

TryIntersectWith(GeoFace3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoLine3, out GeoPoint3[])

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

TryIntersectWith(GeoLine3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoObb3, out GeoPoint3[])

Tries to find where this circle crosses the surface of an oriented box, using the default tolerance.

TryIntersectWith(GeoObb3, out GeoPoint3[], Tolerance)

Tries to find where this circle crosses the surface of an oriented box, within a tolerance.

TryIntersectWith(GeoPlane3, out GeoPoint3[])

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

TryIntersectWith(GeoPlane3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoPolygon3, out GeoPoint3[])

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

TryIntersectWith(GeoPolygon3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoRay3, out GeoPoint3[])

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

TryIntersectWith(GeoRay3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoSolid3, out GeoPoint3[])

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

TryIntersectWith(GeoSolid3, out GeoPoint3[], Tolerance)

Tries to find where this circle crosses the surface of a solid, within a tolerance.

TryIntersectWith(GeoTriangle3, out GeoPoint3[])

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

TryIntersectWith(GeoTriangle3, out GeoPoint3[], Tolerance)

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

TryOffset(double, out GeoCircle3)

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

TryOffset(double, out GeoCircle3, Tolerance)

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

Operators

operator ==(GeoCircle3, GeoCircle3)

Checks if two circles have exactly the same centre, normal and radius.

operator !=(GeoCircle3, GeoCircle3)

Checks if two circles differ in centre, normal or radius.