CopperLicht API Documentation
Class CL3D.MetaTriangleSelector
Interface for making multiple triangle selectors work as one big selector.
Extends
CL3D.TriangleSelector.
Class Overview
CL3D.MetaTriangleSelector()
Interface for making multiple triangle selectors work as one big selector.
This is nothing more than a collection of one or more triangle selectors providing together the interface of one triangle selector.
In this way, collision tests can be done with different triangle soups in one pass.
See CL3D.MeshTriangleSelector for an implementation of a triangle selector for meshes.
Method Attributes | Method Name and Description |
---|---|
addSelector(t)
Adds a triangle selector to the collection of triangle selectors.
|
|
clear()
Removes all triangle selectors from the collection of triangle selectors.
|
|
getAllTriangles(transform, outArray)
Returns all triangles for the scene node associated with this selector
|
|
getCollisionPointWithLine(start, end, bIgnoreBackFaces, outTriangle, ignoreInvisibleItems)
Returns the collision 3d point of a 3d line with the 3d geometry in this triangle selector.
|
|
getTrianglesInBox(box, transform, outArray)
Returns all triangles inside a bounding box, for the scene node associated with this selector.
|
|
Removes a triangle selector from the collection of triangle selectors.
|
|
If there are multiple scene nodes in this selector, it is possible to let it ignore one
specific node, for example to prevent colliding it against itself.
|
- Methods borrowed from class CL3D.TriangleSelector:
- createClone, getRelatedSceneNode
Method Detail
addSelector(t)
Adds a triangle selector to the collection of triangle selectors.
- Parameters:
- {CL3D.TriangleSelector} t
- a CL3D.TriangleSelector to add
clear()
Removes all triangle selectors from the collection of triangle selectors.
getAllTriangles(transform, outArray)
Returns all triangles for the scene node associated with this selector
- Parameters:
- {CL3D.Matrix4} transform
- a transformation matrix which transforms all triangles before returning them
- {Array} outArray
- output array of the triangles
{CL3D.Vect3d}
getCollisionPointWithLine(start, end, bIgnoreBackFaces, outTriangle, ignoreInvisibleItems)
Returns the collision 3d point of a 3d line with the 3d geometry in this triangle selector.
- Parameters:
- {CL3D.Vect3d} start
- 3d point representing the start of the 3d line
- {CL3D.Vect3d} end
- 3d point representing the end of the 3d line
- {Boolean} bIgnoreBackFaces
- if set to true, this will ignore back faced polygons, making the query twice as fast
- {CL3D.Triangle3d} outTriangle
- if set to a triangle, this will contain the 3d triangle with which the line collided
- {Boolean} ignoreInvisibleItems
- set to true to ignore invisible scene nodes for collision test
- Returns:
- {CL3D.Vect3d} a 3d position as CL3D.Vect3d if a collision was found or null if no collision was found
getTrianglesInBox(box, transform, outArray)
Returns all triangles inside a bounding box, for the scene node associated with this selector. This method will
return at least the triangles that intersect the box, but may return other triangles as well.
- Parameters:
- box
- {CL3D.Box3d}
- transform
- {CL3D.Matrix4} a transformation matrix which transforms all triangles before returning them
- outArray
- {Array} output array of the triangles
- Returns:
- the new CL3D.TriangleSelector
removeSelector(t)
Removes a triangle selector from the collection of triangle selectors.
- Parameters:
- {CL3D.TriangleSelector} t
- a CL3D.TriangleSelector to remove
setNodeToIgnore(n)
If there are multiple scene nodes in this selector, it is possible to let it ignore one
specific node, for example to prevent colliding it against itself.
- Parameters:
- n