Documentation

Classes

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 Summary
Method Attributes Method Name and Description
 
Adds a triangle selector to the collection of triangle selectors.
 
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

© 2011-2018 N.Gebhardt, Ambiera
Documentation generated by JsDoc Toolkit