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