Table of Contents

Struct GeoArc3

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether an arc touches another shape.

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

Constructors

GeoArc3(GeoPoint3, GeoVector3, double, double, double)

Initializes an arc running counter-clockwise around its normal from one angle to another.

GeoArc3(GeoPoint3, GeoVector3, double, double, double, bool)

Initializes an arc running from one angle to another, either way round its normal.

Properties

Center

Gets the centre of the circle the arc lies on.

EndAngle

Gets the angle the arc ends at, in radians, wrapped into the range from zero to a full turn.

EndPoint

Gets the point the arc ends at.

IsClockwise

Gets a value indicating whether the arc sweeps clockwise around its normal.

IsValid

Gets whether this is a shape a constructor could have made: the centre is a valid point, the normal of unit length, the radius a positive number and the angles numbers.

Length

Gets the length of the arc.

MidPoint

Gets the point halfway along the arc.

Normal

Gets the unit normal of the plane carrying the arc.

Radius

Gets the radius of the arc.

StartAngle

Gets the angle the arc starts at, in radians, wrapped into the range from zero to a full turn.

StartPoint

Gets the point the arc starts at.

SweptAngle

Gets the angle the arc sweeps through, in radians: positive counter-clockwise around the normal, negative clockwise, never zero, and never more than a whole turn either way.

Methods

Clone()

Creates a copy of this arc.

CollidesWith(GeoAabb3)

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

CollidesWith(GeoAabb3, Tolerance)

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

CollidesWith(GeoArc3)

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

CollidesWith(GeoArc3, Tolerance)

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

CollidesWith(GeoCircle3)

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

CollidesWith(GeoCircle3, Tolerance)

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

CollidesWith(GeoEdge3)

Checks whether this arc touches an edge.

CollidesWith(GeoEdge3, Tolerance)

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

CollidesWith(GeoFace3)

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

CollidesWith(GeoFace3, Tolerance)

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

CollidesWith(GeoLine3)

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

CollidesWith(GeoLine3, Tolerance)

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

CollidesWith(GeoObb3)

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

CollidesWith(GeoObb3, Tolerance)

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

CollidesWith(GeoPlane3)

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

CollidesWith(GeoPlane3, Tolerance)

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

CollidesWith(GeoPolygon3)

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

CollidesWith(GeoPolygon3, Tolerance)

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

CollidesWith(GeoPolygonArc3)

Checks whether this arc touches a curved loop.

CollidesWith(GeoPolygonArc3, Tolerance)

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

CollidesWith(GeoPolylineArc3)

Checks whether this arc touches a curved chain.

CollidesWith(GeoPolylineArc3, Tolerance)

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

CollidesWith(GeoRay3)

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

CollidesWith(GeoRay3, Tolerance)

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

CollidesWith(GeoSolid3)

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

CollidesWith(GeoSolid3, Tolerance)

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

CollidesWith(GeoTriangle3)

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

CollidesWith(GeoTriangle3, Tolerance)

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

CoversAngle(double)

Determines whether the arc reaches a given angle.

DistanceTo(GeoPoint3)

Gets the distance from this arc to a point.

DistanceTo(GeoPoint3, Tolerance)

Gets the distance from this arc to a point, within a tolerance.

Equals(GeoArc3)

Determines whether another arc holds exactly the same values.

Equals(object)

Determines whether the specified object is an equal arc.

Extend(double, LineEnd)

Lengthens the arc along itself at one end, keeping its centre and radius.

Extend(double, LineEnd, Tolerance)

Lengthens the arc along itself at one end, within a tolerance.

Extend(double, double)

Lengthens the arc along itself at both ends at once.

Extend(double, double, Tolerance)

Lengthens the arc along itself at both ends at once, within a tolerance.

ExtendToLength(double, LineEnd)

Lengthens or shortens the arc at one end until it is a given arc length.

ExtendToLength(double, LineEnd, Tolerance)

Lengthens or shortens the arc at one end until it is a given arc length, within a tolerance.

FromThreePoints(GeoPoint3, GeoPoint3, GeoPoint3)

Creates the arc through three points in space, using the default tolerance.

FromThreePoints(GeoPoint3, GeoPoint3, GeoPoint3, Tolerance)

Creates the arc through three points in space, within a tolerance.

GetAabb()

Gets the axis-aligned box enclosing the arc.

GetChord()

Gets the chord of the arc: the straight segment from where it starts to where it ends.

GetCircle()

Gets the circle the arc lies on.

GetClosestPointOnBoundary(GeoPoint3)

Gets the point of this arc closest to a point.

GetClosestPointOnBoundary(GeoPoint3, Tolerance)

Gets the point of this arc closest to a point, within a tolerance.

GetDistanceAtParameter(double)

Gets the arc length from the start of the arc to a normalized parameter.

GetDistanceAtPoint(GeoPoint3)

Gets the arc length from the start of the arc to the point of it nearest a point.

GetHashCode()

Returns the hash code for this arc.

GetIntersections(GeoAabb3)

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

GetIntersections(GeoAabb3, Tolerance)

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

GetIntersections(GeoArc3)

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

GetIntersections(GeoArc3, Tolerance)

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

GetIntersections(GeoCircle3)

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

GetIntersections(GeoCircle3, Tolerance)

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

GetIntersections(GeoEdge3)

Gets every point where an edge crosses this arc.

GetIntersections(GeoEdge3, Tolerance)

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

GetIntersections(GeoFace3)

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

GetIntersections(GeoFace3, Tolerance)

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

GetIntersections(GeoLine3)

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

GetIntersections(GeoLine3, Tolerance)

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

GetIntersections(GeoObb3)

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

GetIntersections(GeoObb3, Tolerance)

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

GetIntersections(GeoPlane3)

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

GetIntersections(GeoPlane3, Tolerance)

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

GetIntersections(GeoPolygon3)

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

GetIntersections(GeoPolygon3, Tolerance)

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

GetIntersections(GeoPolygonArc3)

Gets every point where a curved loop crosses this arc.

GetIntersections(GeoPolygonArc3, Tolerance)

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

GetIntersections(GeoPolylineArc3)

Gets every point where a curved chain crosses this arc.

GetIntersections(GeoPolylineArc3, Tolerance)

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

GetIntersections(GeoRay3)

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

GetIntersections(GeoRay3, Tolerance)

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

GetIntersections(GeoSolid3)

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

GetIntersections(GeoSolid3, Tolerance)

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

GetIntersections(GeoTriangle3)

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

GetIntersections(GeoTriangle3, Tolerance)

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

GetParameterAtDistance(double)

Gets the normalized parameter at an arc length measured from the start of the arc.

GetParameterAtPoint(GeoPoint3)

Gets the normalized parameter of the point of the arc nearest a point, using the default tolerance.

GetParameterAtPoint(GeoPoint3, Tolerance)

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

GetPlane()

Gets the plane carrying the arc.

GetPointAtAngle(double)

Gets the point of the arc at an angle, whether or not the arc reaches that far.

GetPointAtDistance(double)

Gets the point at an arc length measured from the start of the arc.

GetPointAtParameter(double)

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

IsEqualTo(GeoArc3)

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

IsEqualTo(GeoArc3, Tolerance)

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

IsPointOn(GeoPoint3)

Determines whether a point lies on this arc.

IsPointOn(GeoPoint3, Tolerance)

Determines whether a point lies on this arc, within a tolerance.

Locate(GeoPoint3)

Says where a point sits relative to this arc; a curve never answers Inside.

Locate(GeoPoint3, Tolerance)

Says where a point sits relative to this arc, within a tolerance.

ProjectToArc2(GeoCoordinateSystem3)

Lays this arc out in the plane of a frame, dropping each point's distance from that plane.

Reverse()

Gets the arc running the other way, from this one's end to its start.

ToPolyline()

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

ToPolyline(int)

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

ToPolylineByChordTolerance(double)

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

ToPolylineBySpacing(double)

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

ToString()

Describes the arc.

TransformBy(GeoTransform3)

Applies a transformation to this arc.

Translate(GeoVector3)

Moves the arc by a vector.

TryExtendTo(GeoPoint3, LineEnd, out GeoArc3)

Lengthens the arc at one end until it reaches a point on its own circle.

TryExtendTo(GeoPoint3, LineEnd, out GeoArc3, Tolerance)

Lengthens the arc at one end until it reaches a point on its own circle, within a tolerance.

TryIntersectWith(GeoAabb3, out GeoPoint3[])

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

TryIntersectWith(GeoAabb3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, out GeoPoint3[])

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

TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, out GeoPoint3[])

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

TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoEdge3, out GeoPoint3[])

Tries to find where an edge crosses this arc.

TryIntersectWith(GeoEdge3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoFace3, out GeoPoint3[])

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

TryIntersectWith(GeoFace3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoLine3, out GeoPoint3[])

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

TryIntersectWith(GeoLine3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoObb3, out GeoPoint3[])

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

TryIntersectWith(GeoObb3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoPlane3, out GeoPoint3[])

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

TryIntersectWith(GeoPlane3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoPolygon3, out GeoPoint3[])

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

TryIntersectWith(GeoPolygon3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoRay3, out GeoPoint3[])

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

TryIntersectWith(GeoRay3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoSolid3, out GeoPoint3[])

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

TryIntersectWith(GeoSolid3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoTriangle3, out GeoPoint3[])

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

TryIntersectWith(GeoTriangle3, out GeoPoint3[], Tolerance)

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

TryOffset(double, out GeoArc3)

Gets the arc concentric with this one at a distance from it, using the default tolerance.

TryOffset(double, out GeoArc3, Tolerance)

Gets the arc concentric with this one at a distance from it, within a tolerance.

TrySplitAt(GeoPoint3, out GeoArc3[])

Cuts the arc at the point of it nearest a point.

TrySplitAt(GeoPoint3, out GeoArc3[], Tolerance)

Cuts the arc at the point of it nearest a point, within a tolerance.

TrySplitAt(double, out GeoArc3[])

Cuts the arc at a normalized parameter, where 0 is its start and 1 its end.

TrySplitAt(double, out GeoArc3[], Tolerance)

Cuts the arc at a normalized parameter, within a tolerance.

TrySplitAtDistance(double, out GeoArc3[])

Cuts the arc at an arc length measured from its start.

TrySplitAtDistance(double, out GeoArc3[], Tolerance)

Cuts the arc at an arc length measured from its start, within a tolerance.

TryTrimTo(GeoPoint3, LineEnd, out GeoArc3)

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

TryTrimTo(GeoPoint3, LineEnd, out GeoArc3, Tolerance)

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

Operators

operator ==(GeoArc3, GeoArc3)

Determines whether two arcs hold exactly the same values.

operator !=(GeoArc3, GeoArc3)

Determines whether two arcs hold different values.