#include <btBroadphaseInterface.h>
Public Member Functions | |
virtual void | aabbTest (const btVector3 &aabbMin, const btVector3 &aabbMax, btBroadphaseAabbCallback &callback)=0 |
virtual void | calculateOverlappingPairs (btDispatcher *dispatcher)=0 |
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)=0 |
virtual void | destroyProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher)=0 |
virtual void | getAabb (btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
virtual void | getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
virtual btOverlappingPairCache * | getOverlappingPairCache ()=0 |
virtual const btOverlappingPairCache * | getOverlappingPairCache () const =0 |
virtual void | printStats ()=0 |
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))=0 |
virtual void | resetPool (btDispatcher *dispatcher) |
reset broadphase internal structures, to ensure determinism/reproducability | |
virtual void | setAabb (btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)=0 |
virtual | ~btBroadphaseInterface () |
The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs. Some implementations for this broadphase interface include btAxisSweep3, bt32BitAxisSweep3 and btDbvtBroadphase. The actual overlapping pair management, storage, adding and removing of pairs is dealt by the btOverlappingPairCache class.
Definition at line 51 of file btBroadphaseInterface.h.
virtual btBroadphaseInterface::~btBroadphaseInterface | ( | ) | [inline, virtual] |
Definition at line 54 of file btBroadphaseInterface.h.
virtual void btBroadphaseInterface::aabbTest | ( | const btVector3 & | aabbMin, |
const btVector3 & | aabbMax, | ||
btBroadphaseAabbCallback & | callback | ||
) | [pure virtual] |
virtual void btBroadphaseInterface::calculateOverlappingPairs | ( | btDispatcher * | dispatcher | ) | [pure virtual] |
calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb
Implemented in btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, btAxisSweep3Internal< unsigned short int >, btSimpleBroadphase, btMultiSapBroadphase, and btDbvtBroadphase.
virtual btBroadphaseProxy* btBroadphaseInterface::createProxy | ( | const btVector3 & | aabbMin, |
const btVector3 & | aabbMax, | ||
int | shapeType, | ||
void * | userPtr, | ||
short int | collisionFilterGroup, | ||
short int | collisionFilterMask, | ||
btDispatcher * | dispatcher, | ||
void * | multiSapProxy | ||
) | [pure virtual] |
virtual void btBroadphaseInterface::destroyProxy | ( | btBroadphaseProxy * | proxy, |
btDispatcher * | dispatcher | ||
) | [pure virtual] |
virtual void btBroadphaseInterface::getAabb | ( | btBroadphaseProxy * | proxy, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const [pure virtual] |
virtual void btBroadphaseInterface::getBroadphaseAabb | ( | btVector3 & | aabbMin, |
btVector3 & | aabbMax | ||
) | const [pure virtual] |
getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transform later
Implemented in btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, btAxisSweep3Internal< unsigned short int >, btSimpleBroadphase, btMultiSapBroadphase, and btDbvtBroadphase.
virtual btOverlappingPairCache* btBroadphaseInterface::getOverlappingPairCache | ( | ) | [pure virtual] |
virtual const btOverlappingPairCache* btBroadphaseInterface::getOverlappingPairCache | ( | ) | const [pure virtual] |
virtual void btBroadphaseInterface::printStats | ( | ) | [pure virtual] |
virtual void btBroadphaseInterface::rayTest | ( | const btVector3 & | rayFrom, |
const btVector3 & | rayTo, | ||
btBroadphaseRayCallback & | rayCallback, | ||
const btVector3 & | aabbMin = btVector3(0, 0, 0) , |
||
const btVector3 & | aabbMax = btVector3(0, 0, 0) |
||
) | [pure virtual] |
virtual void btBroadphaseInterface::resetPool | ( | btDispatcher * | dispatcher | ) | [inline, virtual] |
reset broadphase internal structures, to ensure determinism/reproducability
Reimplemented in btMultiSapBroadphase, btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, btAxisSweep3Internal< unsigned short int >, btDbvtBroadphase, and btSimpleBroadphase.
Definition at line 76 of file btBroadphaseInterface.h.
virtual void btBroadphaseInterface::setAabb | ( | btBroadphaseProxy * | proxy, |
const btVector3 & | aabbMin, | ||
const btVector3 & | aabbMax, | ||
btDispatcher * | dispatcher | ||
) | [pure virtual] |