Logo Search packages:      
Sourcecode: blender version File versions

btAxisSweep3Internal< BP_FP_INT_TYPE > Class Template Reference

#include <btAxisSweep3.h>

Inheritance diagram for btAxisSweep3Internal< BP_FP_INT_TYPE >:


List of all members.

Detailed Description

template<typename BP_FP_INT_TYPE>
class btAxisSweep3Internal< BP_FP_INT_TYPE >

The internal templace class btAxisSweep3Internal implements the sweep and prune broadphase. It uses quantized integers to represent the begin and end points for each of the 3 axis. Dont use this class directly, use btAxisSweep3 or bt32BitAxisSweep3 instead.

Definition at line 36 of file btAxisSweep3.h.

Public Member Functions

BP_FP_INT_TYPE addHandle (const btPoint3 &aabbMin, const btPoint3 &aabbMax, void *pOwner, short int collisionFilterGroup, short int collisionFilterMask, btDispatcher *dispatcher, void *multiSapProxy)
 btAxisSweep3Internal (const btPoint3 &worldAabbMin, const btPoint3 &worldAabbMax, BP_FP_INT_TYPE handleMask, BP_FP_INT_TYPE handleSentinel, BP_FP_INT_TYPE maxHandles=16384, btOverlappingPairCache *pairCache=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 getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const
SIMD_FORCE_INLINE Handle * getHandle (BP_FP_INT_TYPE index) const
BP_FP_INT_TYPE getNumHandles () const
const btOverlappingPairCachegetOverlappingPairCache () const
btOverlappingPairCachegetOverlappingPairCache ()
const btOverlappingPairCallbackgetOverlappingPairUserCallback () const
virtual void printStats ()
void processAllOverlappingPairs (btOverlapCallback *callback)
void removeHandle (BP_FP_INT_TYPE handle, btDispatcher *dispatcher)
virtual void setAabb (btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)
void setOverlappingPairUserCallback (btOverlappingPairCallback *pairCallback)
bool testAabbOverlap (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)
void updateHandle (BP_FP_INT_TYPE handle, const btPoint3 &aabbMin, const btPoint3 &aabbMax, btDispatcher *dispatcher)

Protected Member Functions

BP_FP_INT_TYPE allocHandle ()
void freeHandle (BP_FP_INT_TYPE handle)
void quantize (BP_FP_INT_TYPE *out, const btPoint3 &point, int isMax) const
void sortMaxDown (int axis, BP_FP_INT_TYPE edge, btDispatcher *dispatcher, bool updateOverlaps)
void sortMaxUp (int axis, BP_FP_INT_TYPE edge, btDispatcher *dispatcher, bool updateOverlaps)
void sortMinDown (int axis, BP_FP_INT_TYPE edge, btDispatcher *dispatcher, bool updateOverlaps)
void sortMinUp (int axis, BP_FP_INT_TYPE edge, btDispatcher *dispatcher, bool updateOverlaps)
bool testOverlap2D (const Handle *pHandleA, const Handle *pHandleB, int axis0, int axis1)

Protected Attributes

BP_FP_INT_TYPE m_bpHandleMask
BP_FP_INT_TYPE m_firstFreeHandle
BP_FP_INT_TYPE m_handleSentinel
int m_invalidPair
BP_FP_INT_TYPE m_maxHandles
BP_FP_INT_TYPE m_numHandles
bool m_ownsPairCache
Edge * m_pEdges [3]
void * m_pEdgesRawPtr [3]
Handle * m_pHandles
btVector3 m_quantize
 btOverlappingPairCallback is an additional optional user callback for adding/removing overlapping pairs, similar interface to btOverlappingPairCache.
btPoint3 m_worldAabbMax
btPoint3 m_worldAabbMin


class  Edge
class  Handle

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index