Logo Search packages:      
Sourcecode: blender version File versions  Download package

btDbvtBroadphase Struct Reference

#include <btDbvtBroadphase.h>

Inheritance diagram for btDbvtBroadphase:

btBroadphaseInterface

List of all members.


Detailed Description

The btDbvtBroadphase implements a broadphase using two dynamic AABB bounding volume hierarchies/trees (see btDbvt). One tree is used for static/non-moving objects, and another tree is used for dynamic objects. Objects can move from one tree to the other. This is a very fast broadphase, especially for very dynamic worlds where many objects are moving. Its insert/add and remove of objects is generally faster than the sweep and prune broadphases btAxisSweep3 and bt32BitAxisSweep3.

Definition at line 61 of file btDbvtBroadphase.h.


Public Types

enum  { DYNAMIC_SET = 0, FIXED_SET = 1, STAGECOUNT = 2 }

Public Member Functions

 btDbvtBroadphase (btOverlappingPairCache *paircache=0)
void calculateOverlappingPairs (btDispatcher *dispatcher)
 calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb
void collide (btDispatcher *dispatcher)
btBroadphaseProxy * createProxy (const btVector3 &aabbMin, const btVector3 &aabbMax, int shapeType, void *userPtr, short int collisionFilterGroup, short int collisionFilterMask, btDispatcher *dispatcher, void *multiSapProxy)
void destroyProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher)
virtual void getAabb (btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const
void getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const
const btOverlappingPairCachegetOverlappingPairCache () const
btOverlappingPairCachegetOverlappingPairCache ()
void optimize ()
void performDeferredRemoval (btDispatcher *dispatcher)
void printStats ()
virtual void rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, btBroadphaseRayCallback &rayCallback, const btVector3 &aabbMin=btVector3(0, 0, 0), const btVector3 &aabbMax=btVector3(0, 0, 0))
virtual void resetPool (btDispatcher *dispatcher)
 reset broadphase internal structures, to ensure determinism/reproducability
void setAabb (btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)

Static Public Member Functions

static void benchmark (btBroadphaseInterface *)

Public Attributes

int m_cid
int m_cupdates
bool m_deferedcollide
int m_dupdates
int m_fixedleft
int m_fupdates
int m_gid
bool m_needcleanup
int m_newpairs
btOverlappingPairCachem_paircache
int m_pid
btScalar m_prediction
bool m_releasepaircache
btDbvt m_sets [2]
int m_stageCurrent
btDbvtProxy * m_stageRoots [STAGECOUNT+1]
unsigned m_updates_call
unsigned m_updates_done
btScalar m_updates_ratio

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

Generated by  Doxygen 1.6.0   Back to index