Bullet Collision Detection & Physics Library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btGImpactBvh Class Reference

Structure for containing Boxes. More...

#include <btGImpactBvh.h>

Collaboration diagram for btGImpactBvh:
Collaboration graph
[legend]

Public Member Functions

 btGImpactBvh ()
 this constructor doesn't build the tree. you must call buildSet More...
 
 btGImpactBvh (btPrimitiveManagerBase *primitive_manager)
 this constructor doesn't build the tree. you must call buildSet More...
 
btAABB getGlobalBox () const
 
void setPrimitiveManager (btPrimitiveManagerBase *primitive_manager)
 
btPrimitiveManagerBasegetPrimitiveManager () const
 

Protected Member Functions

void refit ()
 

Protected Attributes

btBvhTree m_box_tree
 
btPrimitiveManagerBasem_primitive_manager
 
void update ()
 node manager prototype functions More...
 
void buildSet ()
 this rebuild the entire set More...
 
bool boxQuery (const btAABB &box, btAlignedObjectArray< int > &collided_results) const
 returns the indices of the primitives in the m_primitive_manager More...
 
bool boxQueryTrans (const btAABB &box, const btTransform &transform, btAlignedObjectArray< int > &collided_results) const
 returns the indices of the primitives in the m_primitive_manager More...
 
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 More...
 
bool hasHierarchy () const
 tells if this set has hierarcht More...
 
bool isTrimesh () const
 tells if this set is a trimesh More...
 
int getNodeCount () const
 node count More...
 
bool isLeafNode (int nodeindex) const
 tells if the node is a leaf More...
 
int getNodeData (int nodeindex) const
 
void getNodeBound (int nodeindex, btAABB &bound) const
 
void setNodeBound (int nodeindex, const btAABB &bound)
 
int getLeftNode (int nodeindex) const
 
int getRightNode (int nodeindex) const
 
int getEscapeNodeIndex (int nodeindex) const
 
void getNodeTriangle (int nodeindex, btPrimitiveTriangle &triangle) const
 
const GIM_BVH_TREE_NODEget_node_pointer (int index=0) const
 
static void find_collision (btGImpactBvh *boxset1, const btTransform &trans1, btGImpactBvh *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 167 of file btGImpactBvh.h.

Constructor & Destructor Documentation

◆ btGImpactBvh() [1/2]

btGImpactBvh::btGImpactBvh ( )
inline

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

Definition at line 179 of file btGImpactBvh.h.

◆ btGImpactBvh() [2/2]

btGImpactBvh::btGImpactBvh ( btPrimitiveManagerBase primitive_manager)
inline

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

Definition at line 185 of file btGImpactBvh.h.

Member Function Documentation

◆ boxQuery()

bool btGImpactBvh::boxQuery ( const btAABB box,
btAlignedObjectArray< int > &  collided_results 
) const

returns the indices of the primitives in the m_primitive_manager

Definition at line 269 of file btGImpactBvh.cpp.

◆ boxQueryTrans()

bool btGImpactBvh::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 223 of file btGImpactBvh.h.

◆ buildSet()

void btGImpactBvh::buildSet ( )

this rebuild the entire set

Definition at line 253 of file btGImpactBvh.cpp.

◆ find_collision()

void btGImpactBvh::find_collision ( btGImpactBvh boxset1,
const btTransform trans1,
btGImpactBvh boxset2,
const btTransform trans2,
btPairSet collision_pairs 
)
static

Definition at line 444 of file btGImpactBvh.cpp.

◆ get_node_pointer()

const GIM_BVH_TREE_NODE * btGImpactBvh::get_node_pointer ( int  index = 0) const
inline

Definition at line 295 of file btGImpactBvh.h.

◆ getEscapeNodeIndex()

int btGImpactBvh::getEscapeNodeIndex ( int  nodeindex) const
inline

Definition at line 285 of file btGImpactBvh.h.

◆ getGlobalBox()

btAABB btGImpactBvh::getGlobalBox ( ) const
inline

Definition at line 190 of file btGImpactBvh.h.

◆ getLeftNode()

int btGImpactBvh::getLeftNode ( int  nodeindex) const
inline

Definition at line 275 of file btGImpactBvh.h.

◆ getNodeBound()

void btGImpactBvh::getNodeBound ( int  nodeindex,
btAABB bound 
) const
inline

Definition at line 265 of file btGImpactBvh.h.

◆ getNodeCount()

int btGImpactBvh::getNodeCount ( ) const
inline

node count

Definition at line 249 of file btGImpactBvh.h.

◆ getNodeData()

int btGImpactBvh::getNodeData ( int  nodeindex) const
inline

Definition at line 260 of file btGImpactBvh.h.

◆ getNodeTriangle()

void btGImpactBvh::getNodeTriangle ( int  nodeindex,
btPrimitiveTriangle triangle 
) const
inline

Definition at line 290 of file btGImpactBvh.h.

◆ getPrimitiveManager()

btPrimitiveManagerBase * btGImpactBvh::getPrimitiveManager ( ) const
inline

Definition at line 202 of file btGImpactBvh.h.

◆ getRightNode()

int btGImpactBvh::getRightNode ( int  nodeindex) const
inline

Definition at line 280 of file btGImpactBvh.h.

◆ hasHierarchy()

bool btGImpactBvh::hasHierarchy ( ) const
inline

tells if this set has hierarcht

Definition at line 237 of file btGImpactBvh.h.

◆ isLeafNode()

bool btGImpactBvh::isLeafNode ( int  nodeindex) const
inline

tells if the node is a leaf

Definition at line 255 of file btGImpactBvh.h.

◆ isTrimesh()

bool btGImpactBvh::isTrimesh ( ) const
inline

tells if this set is a trimesh

Definition at line 243 of file btGImpactBvh.h.

◆ rayQuery()

bool btGImpactBvh::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 305 of file btGImpactBvh.cpp.

◆ refit()

void btGImpactBvh::refit ( )
protected

Definition at line 213 of file btGImpactBvh.cpp.

◆ setNodeBound()

void btGImpactBvh::setNodeBound ( int  nodeindex,
const btAABB bound 
)
inline

Definition at line 270 of file btGImpactBvh.h.

◆ setPrimitiveManager()

void btGImpactBvh::setPrimitiveManager ( btPrimitiveManagerBase primitive_manager)
inline

Definition at line 197 of file btGImpactBvh.h.

◆ update()

void btGImpactBvh::update ( )
inline

node manager prototype functions

this attemps to refit the box set.

Definition at line 211 of file btGImpactBvh.h.

Member Data Documentation

◆ m_box_tree

btBvhTree btGImpactBvh::m_box_tree
protected

Definition at line 170 of file btGImpactBvh.h.

◆ m_primitive_manager

btPrimitiveManagerBase* btGImpactBvh::m_primitive_manager
protected

Definition at line 171 of file btGImpactBvh.h.


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