Class Intersection3
- Namespace
- GeometryHelper.Core
- Assembly
- GeometryHelper.dll
Provides static methods for finding where 3D shapes meet.
Each TryIntersectWith overload returns a single result and reports false when there is not
exactly one. Two shapes that overlap along a whole line or a whole area — a segment lying in a
plane, two coincident planes, two collinear segments — have no single crossing to name, so they
come back false rather than picking an arbitrary point out of the overlap. Ask Distance3
or Collision3 when the question is whether they touch at all.
public static class Intersection3
- Inheritance
-
Intersection3
- Inherited Members
Remarks
A GeoPolyline3 could say how far off nine kinds of shape were and whether it touched three. Everything the distance needed was there; what was missing was the shorter question. A chain is a run of segments, so every answer here is the union of what its segments answer, and a GeoLine3 already answers all of it — nothing new is worked out.
Two segments share a vertex, so a crossing at a vertex is found twice and named once. This is the walk GeometryHelper.Core.ArcChain3 keeps for a chain that curves; the two differ only in what a piece is.
Methods
- GetIntersection(GeoLine3, GeoLine3)
Gets the point where two line segments meet, or null when they do not, using the default tolerance.
- GetIntersection(GeoLine3, GeoLine3, LineExtension)
Gets the point where two line segments meet, reading either or both as the infinite line carrying it, or null when they do not, using the default tolerance.
- GetIntersection(GeoLine3, GeoLine3, LineExtension, Tolerance)
Gets the point where two line segments meet, reading either or both as the infinite line carrying it, or null when they do not, within a tolerance.
- GetIntersection(GeoLine3, GeoLine3, Tolerance)
Gets the point where two line segments meet, or null when they do not, within a tolerance.
- GetIntersections(GeoLine3, GeoAabb3)
Finds where a line segment enters and leaves an axis-aligned box, using the default tolerance.
- GetIntersections(GeoLine3, GeoAabb3, Tolerance)
Finds where a line segment enters and leaves an axis-aligned box, within a tolerance.
- GetIntersections(GeoLine3, GeoLine3)
Gets where two segments cross, as a list.
- GetIntersections(GeoLine3, GeoLine3, Tolerance)
Gets where two segments cross, as a list, within a tolerance.
- GetIntersections(GeoLine3, GeoObb3)
Finds where a line segment enters and leaves an oriented box, using the default tolerance.
- GetIntersections(GeoLine3, GeoObb3, Tolerance)
Finds where a line segment enters and leaves an oriented box, within a tolerance.
- GetIntersections(GeoLine3, GeoRay3)
Gets where a segment crosses a ray.
- GetIntersections(GeoLine3, GeoRay3, Tolerance)
Gets where a segment crosses a ray, within a tolerance.
- GetIntersections(GeoLine3, GeoSolid3)
Finds every point where a line segment crosses the surface of a solid, using the default tolerance.
- GetIntersections(GeoLine3, GeoSolid3, Tolerance)
Finds every point where a line segment crosses the surface of a solid, within a tolerance.
- GetIntersections(GeoPlane3, GeoSolid3)
Finds where a plane cuts the edges of a solid, using the default tolerance.
- GetIntersections(GeoPlane3, GeoSolid3, Tolerance)
Finds where a plane cuts the edges of a solid, within a tolerance.
- GetIntersections(GeoPolyline3, GeoAabb3)
Gets every point where a straight chain crosses a square box.
- GetIntersections(GeoPolyline3, GeoAabb3, Tolerance)
Gets every point where a straight chain crosses a square box, within a tolerance.
- GetIntersections(GeoPolyline3, GeoArc3)
Gets every point where a straight chain crosses an arc.
- GetIntersections(GeoPolyline3, GeoArc3, Tolerance)
Gets every point where a straight chain crosses an arc, within a tolerance.
- GetIntersections(GeoPolyline3, GeoCircle3)
Gets every point where a straight chain crosses a circle.
- GetIntersections(GeoPolyline3, GeoCircle3, Tolerance)
Gets every point where a straight chain crosses a circle, within a tolerance.
- GetIntersections(GeoPolyline3, GeoFace3)
Gets every point where a straight chain crosses a face.
- GetIntersections(GeoPolyline3, GeoFace3, Tolerance)
Gets every point where a straight chain crosses a face, within a tolerance.
- GetIntersections(GeoPolyline3, GeoLine3)
Gets every point where a straight chain crosses a segment.
- GetIntersections(GeoPolyline3, GeoLine3, Tolerance)
Gets every point where a straight chain crosses a segment, within a tolerance.
- GetIntersections(GeoPolyline3, GeoObb3)
Gets every point where a straight chain crosses a box.
- GetIntersections(GeoPolyline3, GeoObb3, Tolerance)
Gets every point where a straight chain crosses a box, within a tolerance.
- GetIntersections(GeoPolyline3, GeoPlane3)
Gets every point where a straight chain crosses a plane.
- GetIntersections(GeoPolyline3, GeoPlane3, Tolerance)
Gets every point where a straight chain crosses a plane, within a tolerance.
- GetIntersections(GeoPolyline3, GeoPolygon3)
Gets every point where a straight chain crosses a polygon.
- GetIntersections(GeoPolyline3, GeoPolygon3, Tolerance)
Gets every point where a straight chain crosses a polygon, within a tolerance.
- GetIntersections(GeoPolyline3, GeoPolyline3)
Gets every point where two straight chains cross.
- GetIntersections(GeoPolyline3, GeoPolyline3, Tolerance)
Gets every point where two straight chains cross, within a tolerance.
- GetIntersections(GeoPolyline3, GeoRay3)
Gets every point where a straight chain crosses a ray.
- GetIntersections(GeoPolyline3, GeoRay3, Tolerance)
Gets every point where a straight chain crosses a ray, within a tolerance.
- GetIntersections(GeoPolyline3, GeoSolid3)
Gets every point where a straight chain crosses a body.
- GetIntersections(GeoPolyline3, GeoSolid3, Tolerance)
Gets every point where a straight chain crosses a body, within a tolerance.
- GetIntersections(GeoPolyline3, GeoTriangle3)
Gets every point where a straight chain crosses a triangle.
- GetIntersections(GeoPolyline3, GeoTriangle3, Tolerance)
Gets every point where a straight chain crosses a triangle, within a tolerance.
- GetIntersections(GeoRay3, GeoAabb3)
Finds where a ray enters and leaves an axis-aligned box, using the default tolerance.
- GetIntersections(GeoRay3, GeoAabb3, Tolerance)
Finds where a ray enters and leaves an axis-aligned box, within a tolerance.
- GetIntersections(GeoRay3, GeoLine3)
Gets where a ray crosses a segment.
- GetIntersections(GeoRay3, GeoLine3, Tolerance)
Gets where a ray crosses a segment, within a tolerance.
- GetIntersections(GeoRay3, GeoObb3)
Finds where a ray enters and leaves an oriented box, using the default tolerance.
- GetIntersections(GeoRay3, GeoObb3, Tolerance)
Finds where a ray enters and leaves an oriented box, within a tolerance.
- GetIntersections(GeoRay3, GeoSolid3)
Gets the points where a ray passes through the surface of a solid.
- GetIntersections(GeoRay3, GeoSolid3, Tolerance)
Gets the points where a ray passes through the surface of a solid, within a tolerance.
- IsSimple(GeoPolygon3)
Checks whether a polygon is simple, using the default tolerance: no edge crosses or touches another except where neighbours share their vertex.
- IsSimple(GeoPolygon3, Tolerance)
Checks whether a polygon is simple, within a tolerance: no edge crosses or touches another except where neighbours share their vertex.
- TryIntersectWith(GeoLine3, GeoFace3, out GeoPoint3)
Tries to find the point where a line segment crosses a face, using the default tolerance.
- TryIntersectWith(GeoLine3, GeoFace3, out GeoPoint3, Tolerance)
Tries to find the point where a line segment crosses a face, within a tolerance.
- TryIntersectWith(GeoLine3, GeoLine3, LineExtension, out GeoPoint3)
Tries to find the point where two line segments meet, reading either or both as the infinite line carrying it, using the default tolerance.
- TryIntersectWith(GeoLine3, GeoLine3, LineExtension, out GeoPoint3, Tolerance)
Tries to find the point where two line segments meet, reading either or both as the infinite line carrying it, within a tolerance.
- TryIntersectWith(GeoLine3, GeoLine3, out GeoPoint3)
Tries to find the point where two line segments meet, using the default tolerance.
- TryIntersectWith(GeoLine3, GeoLine3, out GeoPoint3, Tolerance)
Tries to find the point where two line segments meet, within a tolerance.
- TryIntersectWith(GeoLine3, GeoPlane3, out GeoPoint3)
Tries to find the point where a line segment crosses a plane, using the default tolerance.
- TryIntersectWith(GeoLine3, GeoPlane3, out GeoPoint3, Tolerance)
Tries to find the point where a line segment crosses a plane, within a tolerance.
- TryIntersectWith(GeoLine3, GeoPolygon3, out GeoPoint3)
Tries to find the point where a line segment crosses a polygon, using the default tolerance.
- TryIntersectWith(GeoLine3, GeoPolygon3, out GeoPoint3, Tolerance)
Tries to find the point where a line segment crosses a polygon, within a tolerance.
- TryIntersectWith(GeoLine3, GeoRay3, out GeoPoint3[])
Tries to find where a segment crosses a ray.
- TryIntersectWith(GeoLine3, GeoRay3, out GeoPoint3[], Tolerance)
Tries to find where a segment crosses a ray, within a tolerance.
- TryIntersectWith(GeoLine3, GeoTriangle3, out GeoPoint3)
Tries to find the point where a line segment crosses a triangle, using the default tolerance.
- TryIntersectWith(GeoLine3, GeoTriangle3, out GeoPoint3, Tolerance)
Tries to find the point where a line segment crosses a triangle, within a tolerance.
- TryIntersectWith(GeoPlane3, GeoPlane3, out GeoRay3)
Tries to find the line where two planes meet, using the default tolerance.
- TryIntersectWith(GeoPlane3, GeoPlane3, out GeoRay3, Tolerance)
Tries to find the line where two planes meet, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoAabb3, out GeoPoint3[])
Tries to find where a straight chain crosses a square box.
- TryIntersectWith(GeoPolyline3, GeoAabb3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a square box, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoArc3, out GeoPoint3[])
Tries to find where a straight chain crosses an arc.
- TryIntersectWith(GeoPolyline3, GeoArc3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses an arc, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoCircle3, out GeoPoint3[])
Tries to find where a straight chain crosses a circle.
- TryIntersectWith(GeoPolyline3, GeoCircle3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a circle, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoFace3, out GeoPoint3[])
Tries to find where a straight chain crosses a face.
- TryIntersectWith(GeoPolyline3, GeoFace3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a face, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoLine3, out GeoPoint3[])
Tries to find where a straight chain crosses a segment.
- TryIntersectWith(GeoPolyline3, GeoLine3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a segment, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoObb3, out GeoPoint3[])
Tries to find where a straight chain crosses a box.
- TryIntersectWith(GeoPolyline3, GeoObb3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a box, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoPlane3, out GeoPoint3[])
Tries to find where a straight chain crosses a plane.
- TryIntersectWith(GeoPolyline3, GeoPlane3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a plane, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoPolygon3, out GeoPoint3[])
Tries to find where a straight chain crosses a polygon.
- TryIntersectWith(GeoPolyline3, GeoPolygon3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a polygon, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoPolyline3, out GeoPoint3[])
Tries to find where two straight chains cross.
- TryIntersectWith(GeoPolyline3, GeoPolyline3, out GeoPoint3[], Tolerance)
Tries to find where two straight chains cross, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoRay3, out GeoPoint3[])
Tries to find where a straight chain crosses a ray.
- TryIntersectWith(GeoPolyline3, GeoRay3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a ray, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoSolid3, out GeoPoint3[])
Tries to find where a straight chain crosses a body.
- TryIntersectWith(GeoPolyline3, GeoSolid3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a body, within a tolerance.
- TryIntersectWith(GeoPolyline3, GeoTriangle3, out GeoPoint3[])
Tries to find where a straight chain crosses a triangle.
- TryIntersectWith(GeoPolyline3, GeoTriangle3, out GeoPoint3[], Tolerance)
Tries to find where a straight chain crosses a triangle, within a tolerance.
- TryIntersectWith(GeoRay3, GeoFace3, out GeoPoint3)
Tries to find the point where a ray crosses a face, using the default tolerance.
- TryIntersectWith(GeoRay3, GeoFace3, out GeoPoint3, Tolerance)
Tries to find the point where a ray crosses a face, within a tolerance.
- TryIntersectWith(GeoRay3, GeoLine3, out GeoPoint3[])
Tries to find where a ray crosses a segment.
- TryIntersectWith(GeoRay3, GeoLine3, out GeoPoint3[], Tolerance)
Tries to find where a ray crosses a segment, within a tolerance.
- TryIntersectWith(GeoRay3, GeoPlane3, out GeoPoint3)
Tries to find the point where a ray crosses a plane, using the default tolerance.
- TryIntersectWith(GeoRay3, GeoPlane3, out GeoPoint3, Tolerance)
Tries to find the point where a ray crosses a plane, within a tolerance.
- TryIntersectWith(GeoRay3, GeoPolygon3, out GeoPoint3)
Tries to find the point where a ray crosses a polygon, using the default tolerance.
- TryIntersectWith(GeoRay3, GeoPolygon3, out GeoPoint3, Tolerance)
Tries to find the point where a ray crosses a polygon, within a tolerance.
- TryIntersectWith(GeoRay3, GeoTriangle3, out GeoPoint3)
Tries to find the point where a ray crosses a triangle, using the default tolerance.
- TryIntersectWith(GeoRay3, GeoTriangle3, out GeoPoint3, Tolerance)
Tries to find the point where a ray crosses a triangle, within a tolerance.