Table of Contents

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.

Index

Gets the index over Surface.

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.

ToString()
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.