Blender
V3.3
|
#include <btCollisionDispatcher.h>
Public Types | |
enum | DispatcherFlags { CD_STATIC_STATIC_REPORTED = 1 , CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD = 2 , CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION = 4 } |
Static Public Member Functions | |
static void | defaultNearCallback (btBroadphasePair &collisionPair, btCollisionDispatcher &dispatcher, const btDispatcherInfo &dispatchInfo) |
btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs. Time of Impact, Closest Points and Penetration Depth.
Definition at line 42 of file btCollisionDispatcher.h.
Enumerator | |
---|---|
CD_STATIC_STATIC_REPORTED | |
CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD | |
CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION |
Definition at line 62 of file btCollisionDispatcher.h.
btCollisionDispatcher::btCollisionDispatcher | ( | btCollisionConfiguration * | collisionConfiguration | ) |
Definition at line 32 of file btCollisionDispatcher.cpp.
References btAssert, defaultNearCallback(), btCollisionConfiguration::getClosestPointsAlgorithmCreateFunc(), btCollisionConfiguration::getCollisionAlgorithmCreateFunc(), btCollisionConfiguration::getCollisionAlgorithmPool(), btCollisionConfiguration::getPersistentManifoldPool(), m_collisionAlgorithmPoolAllocator, m_collisionConfiguration, m_doubleDispatchClosestPoints, m_doubleDispatchContactPoints, m_persistentManifoldPoolAllocator, MAX_BROADPHASE_COLLISION_TYPES, and setNearCallback().
|
virtual |
Definition at line 64 of file btCollisionDispatcher.cpp.
|
virtual |
Implements btDispatcher.
Definition at line 268 of file btCollisionDispatcher.cpp.
References btPoolAllocator::allocate(), btAlignedAlloc, m_collisionAlgorithmPoolAllocator, NULL, and size().
|
virtual |
Implements btDispatcher.
Definition at line 101 of file btCollisionDispatcher.cpp.
Referenced by releaseManifold(), and btCollisionDispatcherMt::releaseManifold().
|
static |
Definition at line 231 of file btCollisionDispatcher.cpp.
References BT_CONTACT_POINT_ALGORITHMS, btCollisionObject, btDispatcherInfo::DISPATCH_DISCRETE, findAlgorithm(), btDispatcherInfo::m_dispatchFunc, btDispatcherInfo::m_timeOfImpact, and needsCollision().
Referenced by btCollisionDispatcher().
|
virtual |
Implements btDispatcher.
Reimplemented in btCollisionDispatcherMt.
Definition at line 216 of file btCollisionDispatcher.cpp.
References BT_PROFILE, and btOverlappingPairCache::processAllOverlappingPairs().
|
virtual |
Implements btDispatcher.
Definition at line 128 of file btCollisionDispatcher.cpp.
References BT_CONTACT_POINT_ALGORITHMS, btCollisionAlgorithmCreateFunc::CreateCollisionAlgorithm(), btCollisionObjectWrapper::getCollisionShape(), btCollisionAlgorithmConstructionInfo::m_dispatcher1, m_doubleDispatchClosestPoints, m_doubleDispatchContactPoints, and btCollisionAlgorithmConstructionInfo::m_manifold.
Referenced by defaultNearCallback().
Implements btDispatcher.
Definition at line 279 of file btCollisionDispatcher.cpp.
References btAlignedFree, btPoolAllocator::freeMemory(), m_collisionAlgorithmPoolAllocator, ptr, and btPoolAllocator::validPtr().
|
inline |
Definition at line 143 of file btCollisionDispatcher.h.
References m_collisionConfiguration.
|
inline |
Definition at line 148 of file btCollisionDispatcher.h.
References m_collisionConfiguration.
|
inline |
Definition at line 69 of file btCollisionDispatcher.h.
References m_dispatcherFlags.
|
inlinevirtual |
Implements btDispatcher.
Definition at line 89 of file btCollisionDispatcher.h.
References m_manifoldsPtr, and btAlignedObjectArray< T >::size().
|
inlinevirtual |
Implements btDispatcher.
Definition at line 158 of file btCollisionDispatcher.h.
References m_persistentManifoldPoolAllocator.
|
inlinevirtual |
Implements btDispatcher.
Definition at line 163 of file btCollisionDispatcher.h.
References m_persistentManifoldPoolAllocator.
|
inlinevirtual |
Implements btDispatcher.
Definition at line 94 of file btCollisionDispatcher.h.
References btAssert, m_manifoldsPtr, and btAlignedObjectArray< T >::size().
|
inline |
Definition at line 101 of file btCollisionDispatcher.h.
References btAssert, m_manifoldsPtr, and btAlignedObjectArray< T >::size().
|
inline |
Definition at line 131 of file btCollisionDispatcher.h.
References m_nearCallback.
Referenced by btCollisionDispatcherMt::dispatchAllCollisionPairs().
|
virtual |
Implements btDispatcher.
Reimplemented in btCollisionDispatcherMt.
Definition at line 68 of file btCollisionDispatcher.cpp.
References btPoolAllocator::allocate(), btAlignedAlloc, btAssert, btMin(), btPersistentManifold(), CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION, CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD, gContactBreakingThreshold, m_dispatcherFlags, m_manifoldsPtr, m_persistentManifoldPoolAllocator, NULL, btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
|
inlinevirtual |
Implements btDispatcher.
Definition at line 84 of file btCollisionDispatcher.h.
References m_manifoldsPtr, and btAlignedObjectArray< T >::size().
|
virtual |
Implements btDispatcher.
Definition at line 158 of file btCollisionDispatcher.cpp.
References btAssert, CD_STATIC_STATIC_REPORTED, and m_dispatcherFlags.
Referenced by defaultNearCallback().
|
virtual |
Implements btDispatcher.
Definition at line 147 of file btCollisionDispatcher.cpp.
void btCollisionDispatcher::registerClosestPointsCreateFunc | ( | int | proxyType0, |
int | proxyType1, | ||
btCollisionAlgorithmCreateFunc * | createFunc | ||
) |
Definition at line 59 of file btCollisionDispatcher.cpp.
References m_doubleDispatchClosestPoints.
void btCollisionDispatcher::registerCollisionCreateFunc | ( | int | proxyType0, |
int | proxyType1, | ||
btCollisionAlgorithmCreateFunc * | createFunc | ||
) |
registerCollisionCreateFunc allows registration of custom/alternative collision create functions
Definition at line 54 of file btCollisionDispatcher.cpp.
References m_doubleDispatchContactPoints.
Referenced by btGImpactCollisionAlgorithm::registerAlgorithm().
|
virtual |
Implements btDispatcher.
Reimplemented in btCollisionDispatcherMt.
Definition at line 106 of file btCollisionDispatcher.cpp.
References btAlignedFree, btAssert, clearManifold(), btPoolAllocator::freeMemory(), m_manifoldsPtr, m_persistentManifoldPoolAllocator, btAlignedObjectArray< T >::pop_back(), btAlignedObjectArray< T >::size(), btAlignedObjectArray< T >::swap(), and btPoolAllocator::validPtr().
|
inline |
Definition at line 153 of file btCollisionDispatcher.h.
References m_collisionConfiguration.
|
inline |
Definition at line 74 of file btCollisionDispatcher.h.
References m_dispatcherFlags.
|
inline |
Definition at line 126 of file btCollisionDispatcher.h.
References m_nearCallback.
Referenced by btCollisionDispatcher().
|
protected |
Definition at line 51 of file btCollisionDispatcher.h.
Referenced by allocateCollisionAlgorithm(), btCollisionDispatcher(), and freeCollisionAlgorithm().
|
protected |
Definition at line 59 of file btCollisionDispatcher.h.
Referenced by btCollisionDispatcher(), getCollisionConfiguration(), and setCollisionConfiguration().
|
protected |
Definition at line 45 of file btCollisionDispatcher.h.
Referenced by getDispatcherFlags(), getNewManifold(), btCollisionDispatcherMt::getNewManifold(), needsCollision(), and setDispatcherFlags().
|
protected |
Definition at line 57 of file btCollisionDispatcher.h.
Referenced by btCollisionDispatcher(), findAlgorithm(), and registerClosestPointsCreateFunc().
|
protected |
Definition at line 55 of file btCollisionDispatcher.h.
Referenced by btCollisionDispatcher(), findAlgorithm(), and registerCollisionCreateFunc().
|
protected |
Definition at line 47 of file btCollisionDispatcher.h.
Referenced by btCollisionDispatcherMt::dispatchAllCollisionPairs(), getInternalManifoldPointer(), getManifoldByIndexInternal(), getNewManifold(), btCollisionDispatcherMt::getNewManifold(), getNumManifolds(), releaseManifold(), and btCollisionDispatcherMt::releaseManifold().
|
protected |
Definition at line 49 of file btCollisionDispatcher.h.
Referenced by getNearCallback(), and setNearCallback().
|
protected |
Definition at line 53 of file btCollisionDispatcher.h.
Referenced by btCollisionDispatcher(), getInternalManifoldPool(), getNewManifold(), btCollisionDispatcherMt::getNewManifold(), releaseManifold(), and btCollisionDispatcherMt::releaseManifold().