IntersectionMeshMeshPredicate Method (IEnumerableMesh, IEnumerableMesh, Double, Boolean, IntersectingMeshPair, TextLog, CancellationToken) |
Determines which meshes intersect, and reports one intersecting face couple for each pair found.
No geometry is computed: each pair of meshes is tested only until its first hit.
Namespace:
Rhino.Geometry.Intersect
Assembly:
RhinoCommon (in RhinoCommon.dll)
Since: 9.0
Syntaxpublic static bool MeshMeshPredicate(
IEnumerable<Mesh> meshesA,
IEnumerable<Mesh> meshesB,
double tolerance,
bool fast,
out IntersectingMeshPair[] intersectingPairs,
TextLog textLog,
CancellationToken cancel
)
Public Shared Function MeshMeshPredicate (
meshesA As IEnumerable(Of Mesh),
meshesB As IEnumerable(Of Mesh),
tolerance As Double,
fast As Boolean,
<OutAttribute> ByRef intersectingPairs As IntersectingMeshPair(),
textLog As TextLog,
cancel As CancellationToken
) As Boolean
Parameters
- meshesA
- Type: System.Collections.GenericIEnumerableMesh
The first mesh list. This cannot be null. Null entries are skipped but keep their index. - meshesB
- Type: System.Collections.GenericIEnumerableMesh
A second mesh list, or null. When null, every pair within meshesA is tested once;
otherwise every mesh of meshesA is tested against every mesh of meshesB. Null entries are skipped but keep their index. - tolerance
- Type: SystemDouble
A tolerance value. If negative, the positive value will be used.
WARNING! Good tolerance values are in the magnitude of 10^-7, or RhinoMath.SqrtEpsilon*10. - fast
- Type: SystemBoolean
True uses the fast intersector behind MeshMeshFast(Mesh, Mesh): faces that cross or touch
within tolerance count, coplanar overlap without a crossing does not. False uses the accurate intersector,
which also reports coplanar overlap and costs about as much as MeshMeshFast(Mesh, Mesh). - intersectingPairs
- Type: Rhino.Geometry.IntersectIntersectingMeshPair
The pairs of meshes that intersect, each with the first intersecting faces found.
MeshIndexA indexes meshesA and MeshIndexB indexes meshesB,
or both index meshesA with MeshIndexA less than MeshIndexB. Empty when nothing intersects. - textLog
- Type: Rhino.FileIOTextLog
A text log, or null. - cancel
- Type: System.ThreadingCancellationToken
A cancellation token to stop the computation at a given point.
Return Value
Type:
BooleanTrue if any pair intersects, otherwise false. False is also returned on error or cancellation.
See Also