Blender V2.61 - r43446
|
#include <btSphereSphereCollisionAlgorithm.h>
Classes | |
struct | CreateFunc |
Public Member Functions | |
btSphereSphereCollisionAlgorithm (btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *body0, btCollisionObject *body1) | |
btSphereSphereCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci) | |
virtual void | processCollision (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) |
virtual btScalar | calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) |
virtual void | getAllContactManifolds (btManifoldArray &manifoldArray) |
virtual | ~btSphereSphereCollisionAlgorithm () |
btSphereSphereCollisionAlgorithm provides sphere-sphere collision detection. Other features are frame-coherency (persistent data) and collision response. Also provides the most basic sample for custom/user btCollisionAlgorithm
Definition at line 29 of file btSphereSphereCollisionAlgorithm.h.
btSphereSphereCollisionAlgorithm::btSphereSphereCollisionAlgorithm | ( | btPersistentManifold * | mf, |
const btCollisionAlgorithmConstructionInfo & | ci, | ||
btCollisionObject * | body0, | ||
btCollisionObject * | body1 | ||
) |
Definition at line 21 of file btSphereSphereCollisionAlgorithm.cpp.
References btDispatcher::getNewManifold(), and btCollisionAlgorithm::m_dispatcher.
Referenced by btSphereSphereCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm().
btSphereSphereCollisionAlgorithm::btSphereSphereCollisionAlgorithm | ( | const btCollisionAlgorithmConstructionInfo & | ci | ) | [inline] |
Definition at line 37 of file btSphereSphereCollisionAlgorithm.h.
btSphereSphereCollisionAlgorithm::~btSphereSphereCollisionAlgorithm | ( | ) | [virtual] |
Definition at line 33 of file btSphereSphereCollisionAlgorithm.cpp.
References btCollisionAlgorithm::m_dispatcher, and btDispatcher::releaseManifold().
btScalar btSphereSphereCollisionAlgorithm::calculateTimeOfImpact | ( | btCollisionObject * | body0, |
btCollisionObject * | body1, | ||
const btDispatcherInfo & | dispatchInfo, | ||
btManifoldResult * | resultOut | ||
) | [virtual] |
Implements btCollisionAlgorithm.
Definition at line 96 of file btSphereSphereCollisionAlgorithm.cpp.
virtual void btSphereSphereCollisionAlgorithm::getAllContactManifolds | ( | btManifoldArray & | manifoldArray | ) | [inline, virtual] |
Implements btCollisionAlgorithm.
Definition at line 44 of file btSphereSphereCollisionAlgorithm.h.
References btAlignedObjectArray< T >::push_back().
void btSphereSphereCollisionAlgorithm::processCollision | ( | btCollisionObject * | body0, |
btCollisionObject * | body1, | ||
const btDispatcherInfo & | dispatchInfo, | ||
btManifoldResult * | resultOut | ||
) | [virtual] |
iff distance positive, don't generate a new contact
distance (negative means penetration)
point on A (worldspace) btVector3 pos0 = col0->getWorldTransform().getOrigin() - radius0 * normalOnSurfaceB; point on B (worldspace)
report a contact. internally this will be kept persistent, and contact reduction is done
Implements btCollisionAlgorithm.
Definition at line 42 of file btSphereSphereCollisionAlgorithm.cpp.
References btManifoldResult::addContactPoint(), KDL::diff(), len(), btManifoldResult::refreshContactPoints(), btManifoldResult::setPersistentManifold(), and SIMD_EPSILON.