Blender V2.61 - r43446
|
Structure for containing Boxes. More...
#include <btGImpactQuantizedBvh.h>
Public Member Functions | |
btGImpactQuantizedBvh () | |
this constructor doesn't build the tree. you must call buildSet | |
btGImpactQuantizedBvh (btPrimitiveManagerBase *primitive_manager) | |
this constructor doesn't build the tree. you must call buildSet | |
SIMD_FORCE_INLINE btAABB | getGlobalBox () const |
SIMD_FORCE_INLINE void | setPrimitiveManager (btPrimitiveManagerBase *primitive_manager) |
SIMD_FORCE_INLINE btPrimitiveManagerBase * | getPrimitiveManager () const |
Protected Member Functions | |
void | refit () |
Protected Attributes | |
btQuantizedBvhTree | m_box_tree |
btPrimitiveManagerBase * | m_primitive_manager |
SIMD_FORCE_INLINE void | update () |
this attemps to refit the box set. | |
void | buildSet () |
this rebuild the entire set | |
bool | boxQuery (const btAABB &box, btAlignedObjectArray< int > &collided_results) const |
returns the indices of the primitives in the m_primitive_manager | |
SIMD_FORCE_INLINE bool | boxQueryTrans (const btAABB &box, const btTransform &transform, btAlignedObjectArray< int > &collided_results) const |
returns the indices of the primitives in the m_primitive_manager | |
bool | rayQuery (const btVector3 &ray_dir, const btVector3 &ray_origin, btAlignedObjectArray< int > &collided_results) const |
returns the indices of the primitives in the m_primitive_manager | |
SIMD_FORCE_INLINE bool | hasHierarchy () const |
tells if this set has hierarcht | |
SIMD_FORCE_INLINE bool | isTrimesh () const |
tells if this set is a trimesh | |
SIMD_FORCE_INLINE int | getNodeCount () const |
node count | |
SIMD_FORCE_INLINE bool | isLeafNode (int nodeindex) const |
tells if the node is a leaf | |
SIMD_FORCE_INLINE int | getNodeData (int nodeindex) const |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE void | getNodeBound (int nodeindex, btAABB &bound) const |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE void | setNodeBound (int nodeindex, const btAABB &bound) |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE int | getLeftNode (int nodeindex) const |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE int | getRightNode (int nodeindex) const |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE int | getEscapeNodeIndex (int nodeindex) const |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE void | getNodeTriangle (int nodeindex, btPrimitiveTriangle &triangle) const |
this attemps to refit the box set. | |
SIMD_FORCE_INLINE const BT_QUANTIZED_BVH_NODE * | get_node_pointer (int index=0) const |
this attemps to refit the box set. | |
static void | find_collision (btGImpactQuantizedBvh *boxset1, const btTransform &trans1, btGImpactQuantizedBvh *boxset2, const btTransform &trans2, btPairSet &collision_pairs) |
this attemps to refit the box set. |
Structure for containing Boxes.
This class offers an structure for managing a box tree of primitives. Requires a Primitive prototype (like btPrimitiveManagerBase )
Definition at line 226 of file btGImpactQuantizedBvh.h.
btGImpactQuantizedBvh::btGImpactQuantizedBvh | ( | ) | [inline] |
this constructor doesn't build the tree. you must call buildSet
Definition at line 238 of file btGImpactQuantizedBvh.h.
References m_primitive_manager, and NULL.
btGImpactQuantizedBvh::btGImpactQuantizedBvh | ( | btPrimitiveManagerBase * | primitive_manager | ) | [inline] |
this constructor doesn't build the tree. you must call buildSet
Definition at line 244 of file btGImpactQuantizedBvh.h.
References m_primitive_manager.
bool btGImpactQuantizedBvh::boxQuery | ( | const btAABB & | box, |
btAlignedObjectArray< int > & | collided_results | ||
) | const |
returns the indices of the primitives in the m_primitive_manager
Definition at line 303 of file btGImpactQuantizedBvh.cpp.
References getEscapeNodeIndex(), getNodeCount(), getNodeData(), isLeafNode(), m_box_tree, btAlignedObjectArray< T >::push_back(), btQuantizedBvhTree::quantizePoint(), btAlignedObjectArray< T >::size(), and btQuantizedBvhTree::testQuantizedBoxOverlapp().
Referenced by boxQueryTrans(), btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs(), and btGImpactMeshShapePart::processAllTriangles().
SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::boxQueryTrans | ( | const btAABB & | box, |
const btTransform & | transform, | ||
btAlignedObjectArray< int > & | collided_results | ||
) | const [inline] |
returns the indices of the primitives in the m_primitive_manager
Definition at line 283 of file btGImpactQuantizedBvh.h.
References boxQuery().
void btGImpactQuantizedBvh::buildSet | ( | ) |
this rebuild the entire set
Definition at line 287 of file btGImpactQuantizedBvh.cpp.
References btQuantizedBvhTree::build_tree(), btPrimitiveManagerBase::get_primitive_box(), btPrimitiveManagerBase::get_primitive_count(), i, m_box_tree, m_primitive_manager, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
Referenced by btGImpactShapeInterface::calcLocalAABB().
void btGImpactQuantizedBvh::find_collision | ( | btGImpactQuantizedBvh * | boxset1, |
const btTransform & | trans1, | ||
btGImpactQuantizedBvh * | boxset2, | ||
const btTransform & | trans2, | ||
btPairSet & | collision_pairs | ||
) | [static] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 504 of file btGImpactQuantizedBvh.cpp.
References _find_quantized_collision_pairs_recursive(), and getNodeCount().
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs().
SIMD_FORCE_INLINE const BT_QUANTIZED_BVH_NODE* btGImpactQuantizedBvh::get_node_pointer | ( | int | index = 0 | ) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 357 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::get_node_pointer(), and m_box_tree.
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getEscapeNodeIndex | ( | int | nodeindex | ) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 346 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::getEscapeNodeIndex(), and m_box_tree.
Referenced by boxQuery(), and rayQuery().
SIMD_FORCE_INLINE btAABB btGImpactQuantizedBvh::getGlobalBox | ( | ) | const [inline] |
Definition at line 249 of file btGImpactQuantizedBvh.h.
References getNodeBound().
Referenced by btGImpactShapeInterface::calcLocalAABB().
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getLeftNode | ( | int | nodeindex | ) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 336 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::getLeftNode(), and m_box_tree.
Referenced by _find_quantized_collision_pairs_recursive(), and refit().
SIMD_FORCE_INLINE void btGImpactQuantizedBvh::getNodeBound | ( | int | nodeindex, |
btAABB & | bound | ||
) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 325 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::getNodeBound(), and m_box_tree.
Referenced by _quantized_node_collision(), getGlobalBox(), rayQuery(), and refit().
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getNodeCount | ( | ) | const [inline] |
node count
Definition at line 309 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::getNodeCount(), and m_box_tree.
Referenced by boxQuery(), btGImpactShapeInterface::calcLocalAABB(), find_collision(), btGImpactShapeInterface::hasBoxSet(), rayQuery(), and refit().
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getNodeData | ( | int | nodeindex | ) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 320 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::getNodeData(), and m_box_tree.
Referenced by _find_quantized_collision_pairs_recursive(), boxQuery(), getNodeTriangle(), rayQuery(), and refit().
SIMD_FORCE_INLINE void btGImpactQuantizedBvh::getNodeTriangle | ( | int | nodeindex, |
btPrimitiveTriangle & | triangle | ||
) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 351 of file btGImpactQuantizedBvh.h.
References btPrimitiveManagerBase::get_primitive_triangle(), getNodeData(), and m_primitive_manager.
SIMD_FORCE_INLINE btPrimitiveManagerBase* btGImpactQuantizedBvh::getPrimitiveManager | ( | ) | const [inline] |
Definition at line 261 of file btGImpactQuantizedBvh.h.
References m_primitive_manager.
Referenced by btGImpactMeshShapePart::lockChildShapes(), and btGImpactMeshShapePart::unlockChildShapes().
SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getRightNode | ( | int | nodeindex | ) | const [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 341 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::getRightNode(), and m_box_tree.
Referenced by _find_quantized_collision_pairs_recursive(), and refit().
SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::hasHierarchy | ( | ) | const [inline] |
tells if this set has hierarcht
Definition at line 297 of file btGImpactQuantizedBvh.h.
SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::isLeafNode | ( | int | nodeindex | ) | const [inline] |
tells if the node is a leaf
Definition at line 315 of file btGImpactQuantizedBvh.h.
References btQuantizedBvhTree::isLeafNode(), and m_box_tree.
Referenced by _find_quantized_collision_pairs_recursive(), boxQuery(), rayQuery(), and refit().
SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::isTrimesh | ( | ) | const [inline] |
tells if this set is a trimesh
Definition at line 303 of file btGImpactQuantizedBvh.h.
References btPrimitiveManagerBase::is_trimesh(), and m_primitive_manager.
bool btGImpactQuantizedBvh::rayQuery | ( | const btVector3 & | ray_dir, |
const btVector3 & | ray_origin, | ||
btAlignedObjectArray< int > & | collided_results | ||
) | const |
returns the indices of the primitives in the m_primitive_manager
Definition at line 348 of file btGImpactQuantizedBvh.cpp.
References getEscapeNodeIndex(), getNodeBound(), getNodeCount(), getNodeData(), isLeafNode(), btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
void btGImpactQuantizedBvh::refit | ( | ) | [protected] |
Definition at line 247 of file btGImpactQuantizedBvh.cpp.
References btPrimitiveManagerBase::get_primitive_box(), getLeftNode(), getNodeBound(), getNodeCount(), getNodeData(), getRightNode(), isLeafNode(), m_primitive_manager, and setNodeBound().
Referenced by update().
SIMD_FORCE_INLINE void btGImpactQuantizedBvh::setNodeBound | ( | int | nodeindex, |
const btAABB & | bound | ||
) | [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 330 of file btGImpactQuantizedBvh.h.
References m_box_tree, and btQuantizedBvhTree::setNodeBound().
Referenced by refit().
SIMD_FORCE_INLINE void btGImpactQuantizedBvh::setPrimitiveManager | ( | btPrimitiveManagerBase * | primitive_manager | ) | [inline] |
Definition at line 256 of file btGImpactQuantizedBvh.h.
References m_primitive_manager.
Referenced by btGImpactCompoundShape::btGImpactCompoundShape(), and btGImpactMeshShapePart::btGImpactMeshShapePart().
SIMD_FORCE_INLINE void btGImpactQuantizedBvh::update | ( | ) | [inline] |
this attemps to refit the box set.
node manager prototype functions
Definition at line 271 of file btGImpactQuantizedBvh.h.
References refit().
Referenced by btGImpactShapeInterface::calcLocalAABB().
btQuantizedBvhTree btGImpactQuantizedBvh::m_box_tree [protected] |
Definition at line 229 of file btGImpactQuantizedBvh.h.
Referenced by boxQuery(), buildSet(), get_node_pointer(), getEscapeNodeIndex(), getLeftNode(), getNodeBound(), getNodeCount(), getNodeData(), getRightNode(), isLeafNode(), and setNodeBound().
Definition at line 230 of file btGImpactQuantizedBvh.h.
Referenced by btGImpactQuantizedBvh(), buildSet(), getNodeTriangle(), getPrimitiveManager(), isTrimesh(), refit(), and setPrimitiveManager().