16 #ifndef BT_SIMPLE_BROADPHASE_H 17 #define BT_SIMPLE_BROADPHASE_H 170 #endif //BT_SIMPLE_BROADPHASE_H btSimpleBroadphaseProxy * m_pHandles
btSimpleBroadphaseProxy()
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
void freeHandle(btSimpleBroadphaseProxy *proxy)
btSimpleBroadphaseProxy * getSimpleProxyFromProxy(btBroadphaseProxy *proxy)
static bool aabbOverlap(btSimpleBroadphaseProxy *proxy0, btSimpleBroadphaseProxy *proxy1)
#define SIMD_FORCE_INLINE
virtual void destroyProxy(btBroadphaseProxy *proxy, btDispatcher *dispatcher)
void SetNextFree(int next)
virtual void resetPool(btDispatcher *dispatcher)
reset broadphase internal structures, to ensure determinism/reproducability
The btOverlappingPairCache provides an interface for overlapping pair management (add,...
virtual void getAabb(btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const
btOverlappingPairCache * m_pairCache
virtual void getBroadphaseAabb(btVector3 &aabbMin, btVector3 &aabbMax) const
getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transfor...
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 ~btSimpleBroadphase()
The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs.
btSimpleBroadphaseProxy(const btVector3 &minpt, const btVector3 &maxpt, int shapeType, void *userPtr, int collisionFilterGroup, int collisionFilterMask)
The btBroadphaseProxy is the main class that can be used with the Bullet broadphases.
const btSimpleBroadphaseProxy * getSimpleProxyFromProxy(btBroadphaseProxy *proxy) const
btVector3 can be used to represent 3D points and vectors.
const btOverlappingPairCache * getOverlappingPairCache() const
bool testAabbOverlap(btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)
virtual void printStats()
The SimpleBroadphase is just a unit-test for btAxisSweep3, bt32BitAxisSweep3, or btDbvtBroadphase,...
virtual void aabbTest(const btVector3 &aabbMin, const btVector3 &aabbMax, btBroadphaseAabbCallback &callback)
virtual void calculateOverlappingPairs(btDispatcher *dispatcher)
calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during th...
btOverlappingPairCache * getOverlappingPairCache()
btSimpleBroadphase(int maxProxies=16384, btOverlappingPairCache *overlappingPairCache=0)
virtual void setAabb(btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
virtual btBroadphaseProxy * createProxy(const btVector3 &aabbMin, const btVector3 &aabbMax, int shapeType, void *userPtr, int collisionFilterGroup, int collisionFilterMask, btDispatcher *dispatcher)