101
102
~btDbvtBroadphase();
102
103
void collide(btDispatcher* dispatcher);
104
/* btBroadphaseInterface Implementation */
106
/* btBroadphaseInterface Implementation */
105
107
btBroadphaseProxy* createProxy(const btVector3& aabbMin,const btVector3& aabbMax,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask,btDispatcher* dispatcher,void* multiSapProxy);
106
void destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
107
void setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* dispatcher);
108
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));
110
virtual void getAabb(btBroadphaseProxy* proxy,btVector3& aabbMin, btVector3& aabbMax ) const;
111
void calculateOverlappingPairs(btDispatcher* dispatcher);
112
btOverlappingPairCache* getOverlappingPairCache();
113
const btOverlappingPairCache* getOverlappingPairCache() const;
114
void getBroadphaseAabb(btVector3& aabbMin,btVector3& aabbMax) const;
116
static void benchmark(btBroadphaseInterface*);
119
void performDeferredRemoval(btDispatcher* dispatcher);
108
virtual void destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
109
virtual void setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* dispatcher);
110
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));
111
virtual void aabbTest(const btVector3& aabbMin, const btVector3& aabbMax, btBroadphaseAabbCallback& callback);
113
virtual void getAabb(btBroadphaseProxy* proxy,btVector3& aabbMin, btVector3& aabbMax ) const;
114
virtual void calculateOverlappingPairs(btDispatcher* dispatcher);
115
virtual btOverlappingPairCache* getOverlappingPairCache();
116
virtual const btOverlappingPairCache* getOverlappingPairCache() const;
117
virtual void getBroadphaseAabb(btVector3& aabbMin,btVector3& aabbMax) const;
118
virtual void printStats();
121
121
///reset broadphase internal structures, to ensure determinism/reproducability
122
122
virtual void resetPool(btDispatcher* dispatcher);
124
void performDeferredRemoval(btDispatcher* dispatcher);
126
void setVelocityPrediction(btScalar prediction)
128
m_prediction = prediction;
130
btScalar getVelocityPrediction() const
135
///this setAabbForceUpdate is similar to setAabb but always forces the aabb update.
136
///it is not part of the btBroadphaseInterface but specific to btDbvtBroadphase.
137
///it bypasses certain optimizations that prevent aabb updates (when the aabb shrinks), see
138
///http://code.google.com/p/bullet/issues/detail?id=223
139
void setAabbForceUpdate( btBroadphaseProxy* absproxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* /*dispatcher*/);
141
static void benchmark(btBroadphaseInterface*);