Finds every pair among a list of shapes that overlap, touch or come within a clearance of each other, such as colliding parts.
A clash names the two by their positions in the list, from 0, with their distance, 0 where they touch, overlap or nest, and the volume two solids share.
The shapes and the clearance
The clashing pairs, in list order
Finds the faces of one shape that come within a clearance of faces of another, each pair measured exactly.
A clash names a face of each as shapes.face.getFaces numbers them, sorted by the first shape's
face. Candidates come from meshes of copies at precision, so the shapes given stay unmeshed;
faces without a surface take no part.
The two shapes, the clearance and the meshing precision
The pairs of faces within the clearance
Finds the pairs of faces of one shape that cross each other anywhere but along an edge they share.
A clash names the two faces as shapes.face.getFaces numbers them, with both points at one
place on their crossing. Candidates come from a mesh of a copy at precision and are confirmed
exactly; a mere touch can be missed.
The shape and the meshing precision
The pairs of crossing faces
Finding shapes and faces that overlap or come closer than a clearance: pairs among a list of placed shapes, faces of two shapes within a distance of each other, and faces of one shape that cut through each other. Each clash names the two items by index with the distance between them and, for solids, the volume they share.