Click or drag to resize

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
Syntax
public static bool MeshMeshPredicate(
	IEnumerable<Mesh> meshesA,
	IEnumerable<Mesh> meshesB,
	double tolerance,
	bool fast,
	out IntersectingMeshPair[] intersectingPairs,
	TextLog textLog,
	CancellationToken cancel
)

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: Boolean
True if any pair intersects, otherwise false. False is also returned on error or cancellation.
See Also