Class GeoPreparedSolid3
- Namespace
- GeometryHelper.Spatial
- Assembly
- GeometryHelper.dll
A body made ready to be asked many questions: its openings cut in once, its surface meshed and indexed once, its box kept.
public sealed class GeoPreparedSolid3
- Inheritance
-
GeoPreparedSolid3
- Inherited Members
Remarks
Every question a GeoSolid3 answers takes its openings into account, and the questions that need the material cut it each time they are asked — a distance cuts every opening, since the nearest material can sit on the rim of one the probe never comes near. A body is a value and keeps no cache of its own, so a plate asked about a hundred bolts is cut a hundred times. Preparing it pays for that once, together with the mesh and the index a large body is searched through.
The answers are the body's own: whatever the prepared body says, the body says too, only slower. It is a snapshot — immutable, safe to share between threads, and holding the body it was made from.
Constructors
- GeoPreparedSolid3(GeoSolid3)
Prepares a body, using the default tolerance.
- GeoPreparedSolid3(GeoSolid3, Tolerance)
Prepares a body, within a tolerance.
Properties
- Box
Gets the axis-aligned box round the material.
- Material
Gets the body with its openings cut in: where its material actually ends.
- Solid
Gets the body as it was given, openings and all.
- Surface
Gets the mesh of where the material ends, every triangle lying on it.
Methods
- CollidesWith(GeoRay3)
Checks whether a ray starts in the material or passes through where it ends, using the default tolerance.
- CollidesWith(GeoRay3, Tolerance)
Checks whether a ray starts in the material or passes through where it ends, within a tolerance.
- CollidesWith(GeoSolid3)
Checks whether this body and a body not prepared touch or overlap, using the default tolerance.
- CollidesWith(GeoSolid3, Tolerance)
Checks whether this body and a body not prepared touch or overlap, within a tolerance.
- CollidesWith(GeoPreparedSolid3)
Checks whether this body and another touch or overlap, using the default tolerance.
- CollidesWith(GeoPreparedSolid3, Tolerance)
Checks whether this body and another touch or overlap, within a tolerance.
- Contains(GeoPoint3)
Checks whether the material holds a point, on where it ends included, using the default tolerance.
- Contains(GeoPoint3, Tolerance)
Checks whether the material holds a point, on where it ends included, within a tolerance.
- DistanceTo(GeoPoint3)
Gets how far a point is from the material, using the default tolerance.
- DistanceTo(GeoPoint3, Tolerance)
Gets how far a point is from the material, within a tolerance; nought for a point it holds.
- DistanceTo(GeoSolid3)
Gets how far this body is from a body not prepared, using the default tolerance.
- DistanceTo(GeoSolid3, Tolerance)
Gets how far this body is from a body not prepared, within a tolerance.
- DistanceTo(GeoPreparedSolid3)
Gets how far this body is from another, using the default tolerance.
- DistanceTo(GeoPreparedSolid3, Tolerance)
Gets how far this body is from another, within a tolerance; nought where they touch or overlap.
- GetClosestPointOnBoundary(GeoPoint3)
Gets the point where the material ends nearest a point, using the default tolerance.
- GetClosestPointOnBoundary(GeoPoint3, Tolerance)
Gets the point where the material ends nearest a point, within a tolerance.
- GetIntersections(GeoRay3)
Gets where a ray passes where the material ends, using the default tolerance.
- GetIntersections(GeoRay3, Tolerance)
Gets where a ray passes where the material ends, in the order the ray meets them, within a tolerance.
- GetShortestLineTo(GeoPreparedSolid3)
Gets the shortest segment from this body to another, using the default tolerance.
- GetShortestLineTo(GeoPreparedSolid3, Tolerance)
Gets the shortest segment from this body to another, within a tolerance; of no length where they touch.
- Intersect(GeoPreparedSolid3)
Gets one body per region this body shares with another, using the default tolerance.
- Intersect(GeoPreparedSolid3, Tolerance)
Gets one body per region this body shares with another, within a tolerance; empty when they share no volume.
- Locate(GeoPoint3)
Locates a point, using the default tolerance.
- Locate(GeoPoint3, Tolerance)
Locates a point: inside the material, on where it ends, or outside it, within a tolerance.
- SignedDistanceTo(GeoPoint3)
Gets how far a point is from where the material ends, negative inside it, using the default tolerance.
- SignedDistanceTo(GeoPoint3, Tolerance)
Gets how far a point is from where the material ends, negative inside it, within a tolerance.
- TryGetContact(GeoPreparedSolid3, out GeoFace3[])
Gets where this body and another lie against each other, face to face, using the default tolerance.
- TryGetContact(GeoPreparedSolid3, out GeoFace3[], Tolerance)
Gets where this body and another lie against each other, face to face, within a tolerance.