|
Blender V5.0
|
#include <btAxisSweep3.h>
Inherits btAxisSweep3Internal< unsigned int >.
Public Member Functions | |
| bt32BitAxisSweep3 (const btVector3 &worldAabbMin, const btVector3 &worldAabbMax, unsigned int maxHandles=1500000, btOverlappingPairCache *pairCache=0, bool disableRaycastAccelerator=false) | |
| Public Member Functions inherited from btAxisSweep3Internal< unsigned int > | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| btAxisSweep3Internal (const btVector3 &worldAabbMin, const btVector3 &worldAabbMax, unsigned int handleMask, unsigned int handleSentinel, unsigned int maxHandles=16384, btOverlappingPairCache *pairCache=0, bool disableRaycastAccelerator=false) | |
| virtual | ~btAxisSweep3Internal () |
| unsigned int | getNumHandles () const |
| virtual void | calculateOverlappingPairs (btDispatcher *dispatcher) |
| calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb | |
| unsigned int | addHandle (const btVector3 &aabbMin, const btVector3 &aabbMax, void *pOwner, int collisionFilterGroup, int collisionFilterMask, btDispatcher *dispatcher) |
| void | removeHandle (unsigned int handle, btDispatcher *dispatcher) |
| void | updateHandle (unsigned int handle, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher) |
| SIMD_FORCE_INLINE Handle * | getHandle (unsigned int index) const |
| virtual void | resetPool (btDispatcher *dispatcher) |
| reset broadphase internal structures, to ensure determinism/reproducability | |
| void | processAllOverlappingPairs (btOverlapCallback *callback) |
| virtual btBroadphaseProxy * | createProxy (const btVector3 &aabbMin, const btVector3 &aabbMax, int shapeType, void *userPtr, int collisionFilterGroup, int collisionFilterMask, btDispatcher *dispatcher) |
| virtual void | destroyProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher) |
| virtual void | setAabb (btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher) |
| virtual void | getAabb (btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const |
| 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 | aabbTest (const btVector3 &aabbMin, const btVector3 &aabbMax, btBroadphaseAabbCallback &callback) |
| void | quantize (unsigned int *out, const btVector3 &point, int isMax) const |
| void | unQuantize (btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const |
| unQuantize should be conservative: aabbMin/aabbMax should be larger then 'getAabb' result | |
| bool | testAabbOverlap (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) |
| btOverlappingPairCache * | getOverlappingPairCache () |
| void | setOverlappingPairUserCallback (btOverlappingPairCallback *pairCallback) |
| const btOverlappingPairCallback * | getOverlappingPairUserCallback () const |
| virtual void | getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const |
| virtual void | printStats () |
| Public Member Functions inherited from btBroadphaseInterface | |
| virtual | ~btBroadphaseInterface () |
| virtual const btOverlappingPairCache * | getOverlappingPairCache () const =0 |
The bt32BitAxisSweep3 allows higher precision quantization and more objects compared to the btAxisSweep3 sweep and prune. This comes at the cost of more memory per handle, and a bit slower performance. It uses arrays rather then lists for storage of the 3 axis.
Definition at line 42 of file btAxisSweep3.h.
| bt32BitAxisSweep3::bt32BitAxisSweep3 | ( | const btVector3 & | worldAabbMin, |
| const btVector3 & | worldAabbMax, | ||
| unsigned int | maxHandles = 1500000, | ||
| btOverlappingPairCache * | pairCache = 0, | ||
| bool | disableRaycastAccelerator = false ) |
Definition at line 28 of file btAxisSweep3.cpp.
References btAssert, btAxisSweep3Internal< unsigned int >::btAxisSweep3Internal(), btVector3, and unsigned.