|
Blender V5.0
|
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 |
| SIMD_FORCE_INLINE void | getNodeBound (int nodeindex, btAABB &bound) const |
| SIMD_FORCE_INLINE void | setNodeBound (int nodeindex, const btAABB &bound) |
| SIMD_FORCE_INLINE int | getLeftNode (int nodeindex) const |
| SIMD_FORCE_INLINE int | getRightNode (int nodeindex) const |
| SIMD_FORCE_INLINE int | getEscapeNodeIndex (int nodeindex) const |
| SIMD_FORCE_INLINE void | getNodeTriangle (int nodeindex, btPrimitiveTriangle &triangle) const |
| SIMD_FORCE_INLINE const BT_QUANTIZED_BVH_NODE * | get_node_pointer (int index=0) const |
| static void | find_collision (const btGImpactQuantizedBvh *boxset1, const btTransform &trans1, const btGImpactQuantizedBvh *boxset2, const btTransform &trans2, btPairSet &collision_pairs) |
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 156 of file btGImpactQuantizedBvh.h.
|
inline |
this constructor doesn't build the tree. you must call buildSet
Definition at line 168 of file btGImpactQuantizedBvh.h.
References m_primitive_manager.
Referenced by find_collision().
|
inline |
this constructor doesn't build the tree. you must call buildSet
Definition at line 174 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 286 of file btGImpactQuantizedBvh.cpp.
References btAABB, getEscapeNodeIndex(), getNodeCount(), getNodeData(), isLeafNode(), m_box_tree, btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
Referenced by boxQueryTrans(), and btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs().
|
inline |
returns the indices of the primitives in the m_primitive_manager
Definition at line 212 of file btGImpactQuantizedBvh.h.
References boxQuery(), btAABB, btTransform, SIMD_FORCE_INLINE, and transform().
| void btGImpactQuantizedBvh::buildSet | ( | ) |
this rebuild the entire set
Definition at line 270 of file btGImpactQuantizedBvh.cpp.
References i, m_box_tree, m_primitive_manager, btAlignedObjectArray< T >::resize(), and btAlignedObjectArray< T >::size().
|
static |
Definition at line 466 of file btGImpactQuantizedBvh.cpp.
References _find_quantized_collision_pairs_recursive(), BT_BOX_BOX_TRANSFORM_CACHE, btGImpactQuantizedBvh(), btTransform, and getNodeCount().
Referenced by btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs().
|
inline |
Definition at line 284 of file btGImpactQuantizedBvh.h.
References BT_QUANTIZED_BVH_NODE, m_box_tree, and SIMD_FORCE_INLINE.
|
inline |
Definition at line 274 of file btGImpactQuantizedBvh.h.
References m_box_tree, and SIMD_FORCE_INLINE.
Referenced by boxQuery(), and rayQuery().
|
inline |
Definition at line 179 of file btGImpactQuantizedBvh.h.
References btAABB, getNodeBound(), and SIMD_FORCE_INLINE.
|
inline |
Definition at line 264 of file btGImpactQuantizedBvh.h.
References m_box_tree, and SIMD_FORCE_INLINE.
Referenced by _find_quantized_collision_pairs_recursive(), and refit().
|
inline |
Definition at line 254 of file btGImpactQuantizedBvh.h.
References btAABB, m_box_tree, and SIMD_FORCE_INLINE.
Referenced by _quantized_node_collision(), getGlobalBox(), rayQuery(), and refit().
|
inline |
node count
Definition at line 238 of file btGImpactQuantizedBvh.h.
References m_box_tree, and SIMD_FORCE_INLINE.
Referenced by boxQuery(), find_collision(), rayQuery(), and refit().
|
inline |
Definition at line 249 of file btGImpactQuantizedBvh.h.
References m_box_tree, and SIMD_FORCE_INLINE.
Referenced by _find_quantized_collision_pairs_recursive(), boxQuery(), getNodeTriangle(), rayQuery(), and refit().
|
inline |
Definition at line 279 of file btGImpactQuantizedBvh.h.
References getNodeData(), m_primitive_manager, and SIMD_FORCE_INLINE.
|
inline |
Definition at line 191 of file btGImpactQuantizedBvh.h.
References m_primitive_manager, and SIMD_FORCE_INLINE.
|
inline |
Definition at line 269 of file btGImpactQuantizedBvh.h.
References m_box_tree, and SIMD_FORCE_INLINE.
Referenced by _find_quantized_collision_pairs_recursive(), and refit().
|
inline |
tells if this set has hierarcht
Definition at line 226 of file btGImpactQuantizedBvh.h.
References SIMD_FORCE_INLINE.
|
inline |
tells if the node is a leaf
Definition at line 244 of file btGImpactQuantizedBvh.h.
References m_box_tree, and SIMD_FORCE_INLINE.
Referenced by _find_quantized_collision_pairs_recursive().
|
inline |
tells if this set is a trimesh
Definition at line 232 of file btGImpactQuantizedBvh.h.
References m_primitive_manager, and SIMD_FORCE_INLINE.
| 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 327 of file btGImpactQuantizedBvh.cpp.
References btAABB, btVector3, getEscapeNodeIndex(), getNodeBound(), getNodeCount(), getNodeData(), isLeafNode(), btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
|
protected |
Definition at line 230 of file btGImpactQuantizedBvh.cpp.
References btAABB, getLeftNode(), getNodeBound(), getNodeCount(), getNodeData(), getRightNode(), isLeafNode(), m_primitive_manager, and setNodeBound().
Referenced by update().
|
inline |
Definition at line 259 of file btGImpactQuantizedBvh.h.
References btAABB, m_box_tree, and SIMD_FORCE_INLINE.
Referenced by refit().
|
inline |
Definition at line 186 of file btGImpactQuantizedBvh.h.
References m_primitive_manager, and SIMD_FORCE_INLINE.
|
inline |
this attemps to refit the box set.
node manager prototype functions
Definition at line 200 of file btGImpactQuantizedBvh.h.
References refit(), and SIMD_FORCE_INLINE.
|
protected |
Definition at line 159 of file btGImpactQuantizedBvh.h.
Referenced by boxQuery(), buildSet(), get_node_pointer(), getEscapeNodeIndex(), getLeftNode(), getNodeBound(), getNodeCount(), getNodeData(), getRightNode(), isLeafNode(), and setNodeBound().
|
protected |
Definition at line 160 of file btGImpactQuantizedBvh.h.
Referenced by btGImpactQuantizedBvh(), btGImpactQuantizedBvh(), buildSet(), getNodeTriangle(), getPrimitiveManager(), isTrimesh(), refit(), and setPrimitiveManager().