Blender V4.3
btGImpactQuantizedBvh Class Reference

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 btPrimitiveManagerBasegetPrimitiveManager () const
 

Protected Member Functions

void refit ()
 

Protected Attributes

btQuantizedBvhTree m_box_tree
 
btPrimitiveManagerBasem_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_NODEget_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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ btGImpactQuantizedBvh() [1/2]

btGImpactQuantizedBvh::btGImpactQuantizedBvh ( )
inline

this constructor doesn't build the tree. you must call buildSet

Definition at line 168 of file btGImpactQuantizedBvh.h.

References m_primitive_manager, and NULL.

◆ btGImpactQuantizedBvh() [2/2]

btGImpactQuantizedBvh::btGImpactQuantizedBvh ( btPrimitiveManagerBase * primitive_manager)
inline

this constructor doesn't build the tree. you must call buildSet

Definition at line 174 of file btGImpactQuantizedBvh.h.

References m_primitive_manager.

Member Function Documentation

◆ boxQuery()

◆ boxQueryTrans()

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 212 of file btGImpactQuantizedBvh.h.

References boxQuery(), and btAABB.

◆ buildSet()

◆ find_collision()

void btGImpactQuantizedBvh::find_collision ( const btGImpactQuantizedBvh * boxset1,
const btTransform & trans1,
const btGImpactQuantizedBvh * boxset2,
const btTransform & trans2,
btPairSet & collision_pairs )
static

◆ get_node_pointer()

SIMD_FORCE_INLINE const BT_QUANTIZED_BVH_NODE * btGImpactQuantizedBvh::get_node_pointer ( int index = 0) const
inline

Definition at line 284 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::get_node_pointer(), and m_box_tree.

◆ getEscapeNodeIndex()

SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getEscapeNodeIndex ( int nodeindex) const
inline

Definition at line 274 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::getEscapeNodeIndex(), and m_box_tree.

Referenced by boxQuery(), and rayQuery().

◆ getGlobalBox()

SIMD_FORCE_INLINE btAABB btGImpactQuantizedBvh::getGlobalBox ( ) const
inline

Definition at line 179 of file btGImpactQuantizedBvh.h.

References btAABB, and getNodeBound().

Referenced by btGImpactShapeInterface::calcLocalAABB().

◆ getLeftNode()

SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getLeftNode ( int nodeindex) const
inline

◆ getNodeBound()

SIMD_FORCE_INLINE void btGImpactQuantizedBvh::getNodeBound ( int nodeindex,
btAABB & bound ) const
inline

◆ getNodeCount()

SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getNodeCount ( ) const
inline

◆ getNodeData()

SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getNodeData ( int nodeindex) const
inline

◆ getNodeTriangle()

SIMD_FORCE_INLINE void btGImpactQuantizedBvh::getNodeTriangle ( int nodeindex,
btPrimitiveTriangle & triangle ) const
inline

◆ getPrimitiveManager()

SIMD_FORCE_INLINE btPrimitiveManagerBase * btGImpactQuantizedBvh::getPrimitiveManager ( ) const
inline

◆ getRightNode()

SIMD_FORCE_INLINE int btGImpactQuantizedBvh::getRightNode ( int nodeindex) const
inline

◆ hasHierarchy()

SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::hasHierarchy ( ) const
inline

tells if this set has hierarcht

Definition at line 226 of file btGImpactQuantizedBvh.h.

◆ isLeafNode()

SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::isLeafNode ( int nodeindex) const
inline

tells if the node is a leaf

Definition at line 244 of file btGImpactQuantizedBvh.h.

References btQuantizedBvhTree::isLeafNode(), and m_box_tree.

Referenced by _find_quantized_collision_pairs_recursive().

◆ isTrimesh()

SIMD_FORCE_INLINE bool btGImpactQuantizedBvh::isTrimesh ( ) const
inline

tells if this set is a trimesh

Definition at line 232 of file btGImpactQuantizedBvh.h.

References btPrimitiveManagerBase::is_trimesh(), and m_primitive_manager.

◆ rayQuery()

bool btGImpactQuantizedBvh::rayQuery ( const btVector3 & ray_dir,
const btVector3 & ray_origin,
btAlignedObjectArray< int > & collided_results ) const

◆ refit()

◆ setNodeBound()

SIMD_FORCE_INLINE void btGImpactQuantizedBvh::setNodeBound ( int nodeindex,
const btAABB & bound )
inline

Definition at line 259 of file btGImpactQuantizedBvh.h.

References m_box_tree, and btQuantizedBvhTree::setNodeBound().

Referenced by refit().

◆ setPrimitiveManager()

◆ update()

SIMD_FORCE_INLINE void btGImpactQuantizedBvh::update ( )
inline

this attemps to refit the box set.

node manager prototype functions

Definition at line 200 of file btGImpactQuantizedBvh.h.

References refit().

Referenced by btGImpactShapeInterface::calcLocalAABB().

Member Data Documentation

◆ m_box_tree

◆ m_primitive_manager


The documentation for this class was generated from the following files: