Blender
V3.3
|
#include <btSphereBoxCollisionAlgorithm.h>
Classes | |
struct | CreateFunc |
Additional Inherited Members | |
![]() | |
btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci) | |
btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap) | |
![]() | |
btDispatcher * | m_dispatcher |
btSphereBoxCollisionAlgorithm provides sphere-box collision detection. Other features are frame-coherency (persistent data) and collision response.
Definition at line 29 of file btSphereBoxCollisionAlgorithm.h.
btSphereBoxCollisionAlgorithm::btSphereBoxCollisionAlgorithm | ( | btPersistentManifold * | mf, |
const btCollisionAlgorithmConstructionInfo & | ci, | ||
const btCollisionObjectWrapper * | body0Wrap, | ||
const btCollisionObjectWrapper * | body1Wrap, | ||
bool | isSwapped | ||
) |
Definition at line 24 of file btSphereBoxCollisionAlgorithm.cpp.
References btCollisionObjectWrapper::getCollisionObject(), btDispatcher::getNewManifold(), btCollisionAlgorithm::m_dispatcher, and btDispatcher::needsCollision().
Referenced by btSphereBoxCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm().
|
virtual |
Definition at line 40 of file btSphereBoxCollisionAlgorithm.cpp.
References btCollisionAlgorithm::m_dispatcher, and btDispatcher::releaseManifold().
|
virtual |
Implements btCollisionAlgorithm.
Definition at line 85 of file btSphereBoxCollisionAlgorithm.cpp.
References void.
|
inlinevirtual |
Implements btCollisionAlgorithm.
Definition at line 44 of file btSphereBoxCollisionAlgorithm.h.
References m_manifoldPtr, and btAlignedObjectArray< T >::push_back().
bool btSphereBoxCollisionAlgorithm::getSphereDistance | ( | const btCollisionObjectWrapper * | boxObjWrap, |
btVector3 & | v3PointOnBox, | ||
btVector3 & | normal, | ||
btScalar & | penetrationDepth, | ||
const btVector3 & | v3SphereCenter, | ||
btScalar | fRadius, | ||
btScalar | maxContactDistance | ||
) |
Definition at line 96 of file btSphereBoxCollisionAlgorithm.cpp.
References btBoxShape(), btMax(), btMin(), btTransform, btVector3, blender::math::distance(), btCollisionObjectWrapper::getCollisionShape(), getSpherePenetration(), btCollisionObjectWrapper::getWorldTransform(), normal, and SIMD_EPSILON.
Referenced by processCollision().
btScalar btSphereBoxCollisionAlgorithm::getSpherePenetration | ( | btVector3 const & | boxHalfExtent, |
btVector3 const & | sphereRelPos, | ||
btVector3 & | closestPoint, | ||
btVector3 & | normal | ||
) |
Definition at line 155 of file btSphereBoxCollisionAlgorithm.cpp.
References normal.
Referenced by getSphereDistance().
|
virtual |
report a contact. internally this will be kept persistent, and contact reduction is done
Implements btCollisionAlgorithm.
Definition at line 49 of file btSphereBoxCollisionAlgorithm.cpp.
References btManifoldResult::addContactPoint(), btSphereShape(), btVector3, btCollisionObjectWrapper::getCollisionShape(), getSphereDistance(), btCollisionObjectWrapper::getWorldTransform(), btManifoldResult::refreshContactPoints(), btManifoldResult::setPersistentManifold(), and void.