Table of Contents

Class Projection3

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

Provides static methods for geometric projections in 3D space.

Every ProjectTo... method answers the same question: which point of the target shape is closest to the supplied point. For a bounded shape the answer is clamped to the shape, so projecting onto a segment never returns a point past its endpoints, and projecting onto a triangle never returns a point outside its edges.

public static class Projection3
Inheritance
Projection3
Inherited Members

Remarks

A face is a flat region with holes in it, so the nearest point of one is not simply the foot of the perpendicular: a point over a hole is over nothing, and the nearest material is the rim of that hole. The reading matches ProjectToPolygon(GeoPolygon3, GeoPoint3), which answers with a point of the region where there is region under the foot and a point of the outline where there is not.

Methods

GetShortestLineTo(GeoLine3, GeoLine3)

Finds the shortest segment connecting a point on one line segment to a point on another, using the default tolerance.

GetShortestLineTo(GeoLine3, GeoLine3, LineExtension)

Finds the shortest segment connecting two line segments, reading either or both as the infinite line carrying it, using the default tolerance.

GetShortestLineTo(GeoLine3, GeoLine3, LineExtension, Tolerance)

Finds the shortest segment connecting two line segments, reading either or both as the infinite line carrying it, within a tolerance.

GetShortestLineTo(GeoLine3, GeoLine3, Tolerance)

Finds the shortest segment connecting a point on one line segment to a point on another, within a tolerance.

GetShortestLineTo(GeoLine3, GeoTriangle3)

Gets the shortest segment joining a segment to a triangle.

GetShortestLineTo(GeoLine3, GeoTriangle3, Tolerance)

Gets the shortest segment joining a segment to a triangle, within a tolerance.

GetShortestLineTo(GeoRay3, GeoLine3)

Gets the shortest segment joining a ray to a line segment.

GetShortestLineTo(GeoRay3, GeoLine3, Tolerance)

Gets the shortest segment joining a ray to a line segment, within a tolerance.

GetShortestLineTo(GeoRay3, GeoTriangle3)

Gets the shortest segment joining a ray to a triangle.

GetShortestLineTo(GeoRay3, GeoTriangle3, Tolerance)

Gets the shortest segment joining a ray to a triangle, within a tolerance.

GetShortestLineTo(GeoSolid3, GeoLine3)

Gets the shortest segment joining a solid to a segment.

GetShortestLineTo(GeoSolid3, GeoLine3, Tolerance)

Gets the shortest segment joining a solid to a segment, within a tolerance.

GetShortestLineTo(GeoSolid3, GeoPoint3)

Gets the shortest segment joining a solid to a point.

GetShortestLineTo(GeoSolid3, GeoPoint3, Tolerance)

Gets the shortest segment joining a solid to a point, within a tolerance.

GetShortestLineTo(GeoSolid3, GeoRay3)

Gets the shortest segment joining a solid to a ray.

GetShortestLineTo(GeoSolid3, GeoRay3, Tolerance)

Gets the shortest segment joining a solid to a ray, within a tolerance.

GetShortestLineTo(GeoSolid3, GeoSolid3)

Gets the shortest segment joining two solids.

GetShortestLineTo(GeoSolid3, GeoSolid3, Tolerance)

Gets the shortest segment joining two solids, within a tolerance.

GetShortestLineTo(GeoSolid3, GeoTriangle3)

Gets the shortest segment joining a solid to a triangle.

GetShortestLineTo(GeoSolid3, GeoTriangle3, Tolerance)

Gets the shortest segment joining a solid to a triangle, within a tolerance.

GetShortestLineTo(GeoTriangle3, GeoTriangle3)

Gets the shortest segment joining two triangles.

GetShortestLineTo(GeoTriangle3, GeoTriangle3, Tolerance)

Gets the shortest segment joining two triangles, within a tolerance.

Project(GeoVector3, GeoVector3)

Projects a vector onto an axis vector.

Project(GeoVector3, GeoVector3, Tolerance)

Projects a vector onto an axis vector, within a tolerance.

ProjectOntoPlane(GeoVector3, GeoVector3)

Projects a vector onto a plane through the origin, dropping its component along the normal.

ProjectOntoPlane(GeoVector3, GeoVector3, Tolerance)

Projects a vector onto a plane through the origin, within a tolerance.

ProjectToCircle(GeoCircle3, GeoPoint3)

Projects a point onto the circumference of a circle.

ProjectToCircle(GeoCircle3, GeoPoint3, Tolerance)

Projects a point onto the circumference of a circle, within a tolerance.

ProjectToDisc(GeoCircle3, GeoPoint3)

Projects a point onto a circular disc, read as a filled surface.

ProjectToDisc(GeoCircle3, GeoPoint3, Tolerance)

Projects a point onto a circular disc, read as a filled surface, within a tolerance.

ProjectToFace(GeoFace3, GeoPoint3)

Gets the point of a face nearest another point.

ProjectToFace(GeoFace3, GeoPoint3, Tolerance)

Gets the point of a face nearest another point, within a tolerance.

ProjectToInfiniteLine(GeoLine3, GeoPoint3)

Projects a point onto the infinite line carrying a segment, without clamping.

ProjectToInfiniteLine(GeoLine3, GeoPoint3, Tolerance)

Projects a point onto the infinite line carrying a segment, without clamping, within a tolerance.

ProjectToLine(GeoLine3, GeoPoint3)

Projects a point onto a line segment, clamped to its endpoints.

ProjectToLine(GeoLine3, GeoPoint3, Tolerance)

Projects a point onto a line segment, clamped to its endpoints, within a tolerance.

ProjectToObb(GeoObb3, GeoPoint3)

Projects a point onto an oriented box, read as a filled volume.

ProjectToObbSurface(GeoObb3, GeoPoint3)

Projects a point onto the surface of an oriented box, never returning a point inside it.

ProjectToPlane(GeoPlane3, GeoPoint3)

Projects a point onto a plane.

ProjectToPolygon(GeoPolygon3, GeoPoint3)

Projects a point onto a polygon, read as a filled surface.

ProjectToPolygon(GeoPolygon3, GeoPoint3, Tolerance)

Projects a point onto a polygon, read as a filled surface, within a tolerance.

ProjectToPolygonBoundary(GeoPolygon3, GeoPoint3)

Projects a point onto the boundary of a polygon, ignoring its interior.

ProjectToPolygonBoundary(GeoPolygon3, GeoPoint3, Tolerance)

Projects a point onto the boundary of a polygon, ignoring its interior, within a tolerance.

ProjectToPolyline(GeoPolyline3, GeoPoint3)

Projects a point onto a polyline, clamped to the chain.

ProjectToPolyline(GeoPolyline3, GeoPoint3, Tolerance)

Projects a point onto a polyline, clamped to the chain, within a tolerance.

ProjectToRay(GeoRay3, GeoPoint3)

Projects a point onto a ray, clamped to its origin.

ProjectToSolid(GeoSolid3, GeoPoint3)

Projects a point onto the surface of a solid.

ProjectToSolid(GeoSolid3, GeoPoint3, Tolerance)

Projects a point onto the surface of a solid, within a tolerance.

ProjectToTriangle(GeoTriangle3, GeoPoint3)

Projects a point onto a triangle, clamped to its edges.