Documentation

Classes

Class CL3D.TriangleSelector

Interface to return triangles with specific properties, useful for collision detection.

Class Overview
CL3D.TriangleSelector()
Interface to return triangles with specific properties, useful for collision detection. Every SceneNode may have a triangle selector, available with SceneNode::Selector. This is used for doing collision detection: For example if you know that a collision may have happened in the area between (1,1,1) and (10,10,10), you can get all triangles of the scene node in this area with the TriangleSelector easily and check every triangle if it collided.

This is the base class of all triangle selector implementations. Use MeshTriangleSelector for an implementation for mesh scene nodes, and MetaTriangleSelector for a selector for multiple other triangle selectors and OctTreeTriangleSelector for an implementation for huge meshes.

Method Summary
Method Attributes Method Name and Description
 
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.
 
Returns the scenenode this selector is for
 
getTrianglesInBox(box, transform, outArray)
Returns all triangles inside a bounding box, for the scene node associated with this selector.
 
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.
Method Detail
getAllTriangles(transform, outArray)
Returns all triangles for the scene node associated with this selector
Parameters:
transform
{Matrix4} a transformation matrix which transforms all triangles before returning them
outArray
{Array} output array of the triangles
Returns:
the new CL3D.TriangleSelector

getCollisionPointWithLine(start, end, bIgnoreBackFaces, outTriangle, ignoreInvisibleItems)
Returns the collision 3d point of a 3d line with the 3d geometry in this triangle selector.
Parameters:
start
{Vect3d} 3d point representing the start of the 3d line
end
{Vect3d} 3d point representing the end of the 3d line
bIgnoreBackFaces
{Boolean} if set to true, this will ignore back faced polygons, making the query twice as fast
outTriangle
{Triangle3d} if set to a triangle, this will contain the 3d triangle with which the line collided
ignoreInvisibleItems
{Boolean} set to true to ignore invisible scene nodes for collision test
Returns:
a 3d position as Bect3d if a collision was found or null if no collision was found

getRelatedSceneNode()
Returns the scenenode this selector is for
Returns:
returns SceneNode if this selector is for a specific scene node

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
{Box3d}
transform
{Matrix4} a transformation matrix which transforms all triangles before returning them
outArray
{Array} output array of the triangles
Returns:
the new CL3D.TriangleSelector

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-2012 N.Gebhardt, Ambiera
Documentation generated by JsDoc Toolkit