Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
btSimpleBroadphase Class Reference

#include <btSimpleBroadphase.h>

Inheritance diagram for btSimpleBroadphase:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void aabbTest (const btVector3 &aabbMin, const btVector3 &aabbMax, btBroadphaseAabbCallback &callback)
 btSimpleBroadphase (int maxProxies=16384, btOverlappingPairCache *overlappingPairCache=0)
virtual void calculateOverlappingPairs (btDispatcher *dispatcher)
 calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb
virtual btBroadphaseProxy * createProxy (const btVector3 &aabbMin, const btVector3 &aabbMax, int shapeType, void *userPtr, short int collisionFilterGroup, short int collisionFilterMask, btDispatcher *dispatcher, void *multiSapProxy)
virtual void destroyProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher)
virtual void getAabb (btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const
virtual void getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const
btOverlappingPairCachegetOverlappingPairCache ()
const btOverlappingPairCachegetOverlappingPairCache () const
virtual 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 setAabb (btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)
bool testAabbOverlap (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)
virtual ~btSimpleBroadphase ()

Static Public Member Functions

static bool aabbOverlap (btSimpleBroadphaseProxy *proxy0, btSimpleBroadphaseProxy *proxy1)

Protected Member Functions

int allocHandle ()
void freeHandle (btSimpleBroadphaseProxy *proxy)
btSimpleBroadphaseProxygetSimpleProxyFromProxy (btBroadphaseProxy *proxy)
const btSimpleBroadphaseProxygetSimpleProxyFromProxy (btBroadphaseProxy *proxy) const
virtual void resetPool (btDispatcher *dispatcher)
 reset broadphase internal structures, to ensure determinism/reproducability
void validate ()

Protected Attributes

int m_firstFreeHandle
int m_invalidPair
int m_LastHandleIndex
int m_maxHandles
int m_numHandles
bool m_ownsPairCache
btOverlappingPairCachem_pairCache
btSimpleBroadphaseProxym_pHandles
void * m_pHandlesRawPtr

Detailed Description

The SimpleBroadphase is just a unit-test for btAxisSweep3, bt32BitAxisSweep3, or btDbvtBroadphase, so use those classes instead. It is a brute force aabb culling broadphase based on O(n^2) aabb checks

Definition at line 49 of file btSimpleBroadphase.h.


Constructor & Destructor Documentation

btSimpleBroadphase::btSimpleBroadphase ( int  maxProxies = 16384,
btOverlappingPairCache overlappingPairCache = 0 
)

Member Function Documentation

static bool btSimpleBroadphase::aabbOverlap ( btSimpleBroadphaseProxy proxy0,
btSimpleBroadphaseProxy proxy1 
) [static]
virtual void btSimpleBroadphase::aabbTest ( const btVector3 &  aabbMin,
const btVector3 &  aabbMax,
btBroadphaseAabbCallback callback 
) [virtual]

Implements btBroadphaseInterface.

int btSimpleBroadphase::allocHandle ( ) [inline, protected]

Definition at line 63 of file btSimpleBroadphase.h.

virtual void btSimpleBroadphase::calculateOverlappingPairs ( btDispatcher dispatcher) [virtual]

calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb

Implements btBroadphaseInterface.

virtual btBroadphaseProxy* btSimpleBroadphase::createProxy ( const btVector3 &  aabbMin,
const btVector3 &  aabbMax,
int  shapeType,
void *  userPtr,
short int  collisionFilterGroup,
short int  collisionFilterMask,
btDispatcher dispatcher,
void *  multiSapProxy 
) [virtual]

Implements btBroadphaseInterface.

virtual void btSimpleBroadphase::destroyProxy ( btBroadphaseProxy *  proxy,
btDispatcher dispatcher 
) [virtual]

Implements btBroadphaseInterface.

void btSimpleBroadphase::freeHandle ( btSimpleBroadphaseProxy proxy) [inline, protected]

Definition at line 76 of file btSimpleBroadphase.h.

virtual void btSimpleBroadphase::getAabb ( btBroadphaseProxy *  proxy,
btVector3 &  aabbMin,
btVector3 &  aabbMax 
) const [virtual]

Implements btBroadphaseInterface.

virtual void btSimpleBroadphase::getBroadphaseAabb ( btVector3 &  aabbMin,
btVector3 &  aabbMax 
) const [inline, virtual]

getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transform later

Implements btBroadphaseInterface.

Definition at line 155 of file btSimpleBroadphase.h.

Implements btBroadphaseInterface.

Definition at line 141 of file btSimpleBroadphase.h.

Implements btBroadphaseInterface.

Definition at line 145 of file btSimpleBroadphase.h.

btSimpleBroadphaseProxy* btSimpleBroadphase::getSimpleProxyFromProxy ( btBroadphaseProxy *  proxy) [inline, protected]

Definition at line 99 of file btSimpleBroadphase.h.

const btSimpleBroadphaseProxy* btSimpleBroadphase::getSimpleProxyFromProxy ( btBroadphaseProxy *  proxy) const [inline, protected]

Definition at line 105 of file btSimpleBroadphase.h.

virtual void btSimpleBroadphase::printStats ( ) [inline, virtual]

Implements btBroadphaseInterface.

Definition at line 161 of file btSimpleBroadphase.h.

virtual void btSimpleBroadphase::rayTest ( const btVector3 &  rayFrom,
const btVector3 &  rayTo,
btBroadphaseRayCallback rayCallback,
const btVector3 &  aabbMin = btVector3(0, 0, 0),
const btVector3 &  aabbMax = btVector3(0, 0, 0) 
) [virtual]

Implements btBroadphaseInterface.

virtual void btSimpleBroadphase::resetPool ( btDispatcher dispatcher) [protected, virtual]

reset broadphase internal structures, to ensure determinism/reproducability

Reimplemented from btBroadphaseInterface.

virtual void btSimpleBroadphase::setAabb ( btBroadphaseProxy *  proxy,
const btVector3 &  aabbMin,
const btVector3 &  aabbMax,
btDispatcher dispatcher 
) [virtual]

Implements btBroadphaseInterface.

bool btSimpleBroadphase::testAabbOverlap ( btBroadphaseProxy *  proxy0,
btBroadphaseProxy *  proxy1 
)
void btSimpleBroadphase::validate ( ) [protected]

Member Data Documentation

Definition at line 61 of file btSimpleBroadphase.h.

Definition at line 95 of file btSimpleBroadphase.h.

Definition at line 56 of file btSimpleBroadphase.h.

Definition at line 55 of file btSimpleBroadphase.h.

Definition at line 54 of file btSimpleBroadphase.h.

Definition at line 93 of file btSimpleBroadphase.h.

Definition at line 92 of file btSimpleBroadphase.h.

Definition at line 58 of file btSimpleBroadphase.h.

Definition at line 60 of file btSimpleBroadphase.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Wed Oct 31 2012 07:54:32