Table of Contents

Class Arc3

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

Where an arc in space crosses the surface of a box or a body, and whether it touches one.

public static class Arc3
Inheritance
Arc3
Inherited Members

Remarks

The surface of a box or a body is flat faces, so this is the union of what the arc does against each of them, with the shared edges counted once. Nothing new is worked out here.

A pierced body needs the same care its signed distance needs. Its boundary is its own faces and the walls of every opening, openings of openings included, so the walk gathers candidates from all of them and then keeps only the ones the body itself calls OnSide — which throws out a point on an outer face where an opening has taken the material away.

Touching is not the same as crossing here, because a body has an inside. An arc wholly within the material crosses no face and touches all the same, so where it starts is asked as well. An arc wholly within an opening is not in the material, and that same question rules it out.

Methods

CollidesWith(GeoArc3, GeoAabb3)

Determines whether an arc touches an axis-aligned box.

CollidesWith(GeoArc3, GeoAabb3, Tolerance)

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

CollidesWith(GeoArc3, GeoArc3)

Determines whether two arcs touch.

CollidesWith(GeoArc3, GeoArc3, Tolerance)

Determines whether two arcs touch, within a tolerance.

CollidesWith(GeoArc3, GeoCircle3)

Determines whether an arc touches a circle.

CollidesWith(GeoArc3, GeoCircle3, Tolerance)

Determines whether an arc touches a circle, within a tolerance.

CollidesWith(GeoArc3, GeoFace3)

Determines whether an arc touches a face.

CollidesWith(GeoArc3, GeoFace3, Tolerance)

Determines whether an arc touches a face, within a tolerance.

CollidesWith(GeoArc3, GeoLine3)

Determines whether an arc touches a segment.

CollidesWith(GeoArc3, GeoLine3, Tolerance)

Determines whether an arc touches a segment, within a tolerance.

CollidesWith(GeoArc3, GeoObb3)

Determines whether an arc touches an oriented box.

CollidesWith(GeoArc3, GeoObb3, Tolerance)

Determines whether an arc touches an oriented box, within a tolerance.

CollidesWith(GeoArc3, GeoPlane3)

Determines whether an arc touches a plane.

CollidesWith(GeoArc3, GeoPlane3, Tolerance)

Determines whether an arc touches a plane, within a tolerance.

CollidesWith(GeoArc3, GeoPolygon3)

Determines whether an arc touches a polygon.

CollidesWith(GeoArc3, GeoPolygon3, Tolerance)

Determines whether an arc touches a polygon, within a tolerance.

CollidesWith(GeoArc3, GeoRay3)

Determines whether an arc touches a ray.

CollidesWith(GeoArc3, GeoRay3, Tolerance)

Determines whether an arc touches a ray, within a tolerance.

CollidesWith(GeoArc3, GeoSolid3)

Determines whether an arc touches a solid.

CollidesWith(GeoArc3, GeoSolid3, Tolerance)

Determines whether an arc touches a solid, within a tolerance.

CollidesWith(GeoArc3, GeoTriangle3)

Determines whether an arc touches a triangle.

CollidesWith(GeoArc3, GeoTriangle3, Tolerance)

Determines whether an arc touches a triangle, within a tolerance.

CollidesWith(GeoCircle3, GeoAabb3)

Determines whether a circle touches an axis-aligned box.

CollidesWith(GeoCircle3, GeoAabb3, Tolerance)

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

CollidesWith(GeoCircle3, GeoCircle3)

Determines whether two circles touch.

CollidesWith(GeoCircle3, GeoCircle3, Tolerance)

Determines whether two circles touch, within a tolerance.

CollidesWith(GeoCircle3, GeoFace3)

Determines whether a circle touches a face.

CollidesWith(GeoCircle3, GeoFace3, Tolerance)

Determines whether a circle touches a face, within a tolerance.

CollidesWith(GeoCircle3, GeoLine3)

Determines whether a circle touches a segment.

CollidesWith(GeoCircle3, GeoLine3, Tolerance)

Determines whether a circle touches a segment, within a tolerance.

CollidesWith(GeoCircle3, GeoObb3)

Determines whether a circle touches an oriented box.

CollidesWith(GeoCircle3, GeoObb3, Tolerance)

Determines whether a circle touches an oriented box, within a tolerance.

CollidesWith(GeoCircle3, GeoPlane3)

Determines whether a circle touches a plane.

CollidesWith(GeoCircle3, GeoPlane3, Tolerance)

Determines whether a circle touches a plane, within a tolerance.

CollidesWith(GeoCircle3, GeoPolygon3)

Determines whether a circle touches a polygon.

CollidesWith(GeoCircle3, GeoPolygon3, Tolerance)

Determines whether a circle touches a polygon, within a tolerance.

CollidesWith(GeoCircle3, GeoRay3)

Determines whether a circle touches a ray.

CollidesWith(GeoCircle3, GeoRay3, Tolerance)

Determines whether a circle touches a ray, within a tolerance.

CollidesWith(GeoCircle3, GeoSolid3)

Determines whether a circle touches a solid.

CollidesWith(GeoCircle3, GeoSolid3, Tolerance)

Determines whether a circle touches a solid, within a tolerance.

CollidesWith(GeoCircle3, GeoTriangle3)

Determines whether a circle touches a triangle.

CollidesWith(GeoCircle3, GeoTriangle3, Tolerance)

Determines whether a circle touches a triangle, within a tolerance.

GetIntersections(GeoArc3, GeoAabb3)

Gets every point where an arc crosses the surface of an axis-aligned box.

GetIntersections(GeoArc3, GeoAabb3, Tolerance)

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

GetIntersections(GeoArc3, GeoArc3)

Gets every point where two arcs cross.

GetIntersections(GeoArc3, GeoArc3, Tolerance)

Gets every point where two arcs cross, within a tolerance.

GetIntersections(GeoArc3, GeoCircle3)

Gets every point where an arc crosses a circle.

GetIntersections(GeoArc3, GeoCircle3, Tolerance)

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

GetIntersections(GeoArc3, GeoFace3)

Gets every point where an arc crosses a face.

GetIntersections(GeoArc3, GeoFace3, Tolerance)

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

GetIntersections(GeoArc3, GeoLine3)

Gets every point where an arc crosses a segment.

GetIntersections(GeoArc3, GeoLine3, Tolerance)

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

GetIntersections(GeoArc3, GeoObb3)

Gets every point where an arc crosses the surface of an oriented box.

GetIntersections(GeoArc3, GeoObb3, Tolerance)

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

GetIntersections(GeoArc3, GeoPlane3)

Gets every point where an arc crosses a plane.

GetIntersections(GeoArc3, GeoPlane3, Tolerance)

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

GetIntersections(GeoArc3, GeoPolygon3)

Gets every point where an arc crosses a polygon.

GetIntersections(GeoArc3, GeoPolygon3, Tolerance)

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

GetIntersections(GeoArc3, GeoRay3)

Gets every point where an arc crosses a ray.

GetIntersections(GeoArc3, GeoRay3, Tolerance)

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

GetIntersections(GeoArc3, GeoSolid3)

Gets every point where an arc crosses the surface of a solid.

GetIntersections(GeoArc3, GeoSolid3, Tolerance)

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

GetIntersections(GeoArc3, GeoTriangle3)

Gets every point where an arc crosses a triangle.

GetIntersections(GeoArc3, GeoTriangle3, Tolerance)

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

GetIntersections(GeoCircle3, GeoAabb3)

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

GetIntersections(GeoCircle3, GeoAabb3, Tolerance)

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

GetIntersections(GeoCircle3, GeoCircle3)

Gets every point where two circles cross.

GetIntersections(GeoCircle3, GeoCircle3, Tolerance)

Gets every point where two circles cross, within a tolerance.

GetIntersections(GeoCircle3, GeoFace3)

Gets every point where a circle crosses a face.

GetIntersections(GeoCircle3, GeoFace3, Tolerance)

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

GetIntersections(GeoCircle3, GeoLine3)

Gets every point where a circle crosses a segment.

GetIntersections(GeoCircle3, GeoLine3, Tolerance)

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

GetIntersections(GeoCircle3, GeoObb3)

Gets every point where a circle crosses the surface of an oriented box.

GetIntersections(GeoCircle3, GeoObb3, Tolerance)

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

GetIntersections(GeoCircle3, GeoPlane3)

Gets every point where a circle crosses a plane.

GetIntersections(GeoCircle3, GeoPlane3, Tolerance)

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

GetIntersections(GeoCircle3, GeoPolygon3)

Gets every point where a circle crosses a polygon.

GetIntersections(GeoCircle3, GeoPolygon3, Tolerance)

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

GetIntersections(GeoCircle3, GeoRay3)

Gets every point where a circle crosses a ray.

GetIntersections(GeoCircle3, GeoRay3, Tolerance)

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

GetIntersections(GeoCircle3, GeoSolid3)

Gets every point where a circle crosses the surface of a solid.

GetIntersections(GeoCircle3, GeoSolid3, Tolerance)

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

GetIntersections(GeoCircle3, GeoTriangle3)

Gets every point where a circle crosses a triangle.

GetIntersections(GeoCircle3, GeoTriangle3, Tolerance)

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

TryIntersectWith(GeoArc3, GeoAabb3, out GeoPoint3[])

Tries to find where an arc crosses the surface of an axis-aligned box.

TryIntersectWith(GeoArc3, GeoAabb3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoArc3, out GeoPoint3[])

Tries to find where two arcs cross.

TryIntersectWith(GeoArc3, GeoArc3, out GeoPoint3[], Tolerance)

Tries to find where two arcs cross, within a tolerance.

TryIntersectWith(GeoArc3, GeoCircle3, out GeoPoint3[])

Tries to find where an arc crosses a circle.

TryIntersectWith(GeoArc3, GeoCircle3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoFace3, out GeoPoint3[])

Tries to find where an arc crosses a face.

TryIntersectWith(GeoArc3, GeoFace3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoLine3, out GeoPoint3[])

Tries to find where an arc crosses a segment.

TryIntersectWith(GeoArc3, GeoLine3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoObb3, out GeoPoint3[])

Tries to find where an arc crosses the surface of an oriented box.

TryIntersectWith(GeoArc3, GeoObb3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoPlane3, out GeoPoint3[])

Tries to find where an arc crosses a plane.

TryIntersectWith(GeoArc3, GeoPlane3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoPolygon3, out GeoPoint3[])

Tries to find where an arc crosses a polygon.

TryIntersectWith(GeoArc3, GeoPolygon3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoRay3, out GeoPoint3[])

Tries to find where an arc crosses a ray.

TryIntersectWith(GeoArc3, GeoRay3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoSolid3, out GeoPoint3[])

Tries to find where an arc crosses the surface of a solid.

TryIntersectWith(GeoArc3, GeoSolid3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoArc3, GeoTriangle3, out GeoPoint3[])

Tries to find where an arc crosses a triangle.

TryIntersectWith(GeoArc3, GeoTriangle3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoAabb3, out GeoPoint3[])

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

TryIntersectWith(GeoCircle3, GeoAabb3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoCircle3, out GeoPoint3[])

Tries to find where two circles cross.

TryIntersectWith(GeoCircle3, GeoCircle3, out GeoPoint3[], Tolerance)

Tries to find where two circles cross, within a tolerance.

TryIntersectWith(GeoCircle3, GeoFace3, out GeoPoint3[])

Tries to find where a circle crosses a face.

TryIntersectWith(GeoCircle3, GeoFace3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoLine3, out GeoPoint3[])

Tries to find where a circle crosses a segment.

TryIntersectWith(GeoCircle3, GeoLine3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoObb3, out GeoPoint3[])

Tries to find where a circle crosses the surface of an oriented box.

TryIntersectWith(GeoCircle3, GeoObb3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoPlane3, out GeoPoint3[])

Tries to find where a circle crosses a plane.

TryIntersectWith(GeoCircle3, GeoPlane3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoPolygon3, out GeoPoint3[])

Tries to find where a circle crosses a polygon.

TryIntersectWith(GeoCircle3, GeoPolygon3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoRay3, out GeoPoint3[])

Tries to find where a circle crosses a ray.

TryIntersectWith(GeoCircle3, GeoRay3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoSolid3, out GeoPoint3[])

Tries to find where a circle crosses the surface of a solid.

TryIntersectWith(GeoCircle3, GeoSolid3, out GeoPoint3[], Tolerance)

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

TryIntersectWith(GeoCircle3, GeoTriangle3, out GeoPoint3[])

Tries to find where a circle crosses a triangle.

TryIntersectWith(GeoCircle3, GeoTriangle3, out GeoPoint3[], Tolerance)

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

TrySplitAt(GeoArc3, GeoPoint3, out GeoArc3[])

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

TrySplitAt(GeoArc3, GeoPoint3, out GeoArc3[], Tolerance)

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

TrySplitAt(GeoArc3, double, out GeoArc3[])

Cuts an arc at a normalized parameter.

TrySplitAt(GeoArc3, double, out GeoArc3[], Tolerance)

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

TrySplitAtDistance(GeoArc3, double, out GeoArc3[])

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

TrySplitAtDistance(GeoArc3, double, out GeoArc3[], Tolerance)

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