CopperLicht API Documentation
Class CL3D.MeshTriangleSelector
Interface to return triangles with specific properties, useful for collision detection.
Extends
CL3D.TriangleSelector.
Class Overview
CL3D.MeshTriangleSelector(Mesh, materialToIgnore, materialToIgnore2, scenenode)
Implementation of TriangleSelector for meshes, useful for collision detection.
Note use CL3D.OctTreeTriangleSelector instead of this one if your mesh is huge, otherwise collision detection might be slow. Every CL3D.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.
Note use CL3D.OctTreeTriangleSelector instead of this one if your mesh is huge, otherwise collision detection might be slow. Every CL3D.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.
- Parameters:
- {CL3D.Mesh} Mesh
- the CL3D.Mesh representing the geometry
- {Number} materialToIgnore
- (optional) material type to ignore for collision. Can be set to null.
- {Number} materialToIgnore2
- (optional) material type to ignore for collision. Can be set to null.
- {CL3D.SceneNode} scenenode
- the CL3D.SceneNode representing the position of the geometry
Method Attributes | Method Name and Description |
---|---|
createClone(node)
Creates a clone of this triangle selector, for a new scene node
|
|
getAllTriangles(transform, outArray)
Returns all triangles for the scene node associated with this 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.
|
- Methods borrowed from class CL3D.TriangleSelector:
- getCollisionPointWithLine, setNodeToIgnore
Method Detail
createClone(node)
Creates a clone of this triangle selector, for a new scene node
- Parameters:
- node
- {CL3D.SceneNode} scene node the selector is based on
- Returns:
- returns TriangleSelector if this selector can be cloned or null if not
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
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
- {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