Blender V2.61 - r43446
Classes | Public Member Functions

btSphereBoxCollisionAlgorithm Class Reference

#include <btSphereBoxCollisionAlgorithm.h>

Inheritance diagram for btSphereBoxCollisionAlgorithm:
Inheritance graph
[legend]

List of all members.

Classes

struct  CreateFunc

Public Member Functions

 btSphereBoxCollisionAlgorithm (btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *col0, btCollisionObject *col1, bool isSwapped)
virtual ~btSphereBoxCollisionAlgorithm ()
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)
btScalar getSphereDistance (btCollisionObject *boxObj, btVector3 &v3PointOnBox, btVector3 &v3PointOnSphere, const btVector3 &v3SphereCenter, btScalar fRadius)
btScalar getSpherePenetration (btCollisionObject *boxObj, btVector3 &v3PointOnBox, btVector3 &v3PointOnSphere, const btVector3 &v3SphereCenter, btScalar fRadius, const btVector3 &aabbMin, const btVector3 &aabbMax)

Detailed Description

btSphereBoxCollisionAlgorithm provides sphere-box collision detection. Other features are frame-coherency (persistent data) and collision response.

Definition at line 29 of file btSphereBoxCollisionAlgorithm.h.


Constructor & Destructor Documentation

btSphereBoxCollisionAlgorithm::btSphereBoxCollisionAlgorithm ( btPersistentManifold *  mf,
const btCollisionAlgorithmConstructionInfo ci,
btCollisionObject *  col0,
btCollisionObject *  col1,
bool  isSwapped 
)
btSphereBoxCollisionAlgorithm::~btSphereBoxCollisionAlgorithm ( ) [virtual]

Member Function Documentation

btScalar btSphereBoxCollisionAlgorithm::calculateTimeOfImpact ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
) [virtual]

Implements btCollisionAlgorithm.

Definition at line 93 of file btSphereBoxCollisionAlgorithm.cpp.

virtual void btSphereBoxCollisionAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray) [inline, virtual]
btScalar btSphereBoxCollisionAlgorithm::getSphereDistance ( btCollisionObject *  boxObj,
btVector3 &  v3PointOnBox,
btVector3 &  v3PointOnSphere,
const btVector3 &  v3SphereCenter,
btScalar  fRadius 
)
btScalar btSphereBoxCollisionAlgorithm::getSpherePenetration ( btCollisionObject *  boxObj,
btVector3 &  v3PointOnBox,
btVector3 &  v3PointOnSphere,
const btVector3 &  v3SphereCenter,
btScalar  fRadius,
const btVector3 &  aabbMin,
const btVector3 &  aabbMax 
)

Definition at line 208 of file btSphereBoxCollisionAlgorithm.cpp.

References bounds(), dot(), i, btTransform::invXform(), and normalize().

Referenced by getSphereDistance().

void btSphereBoxCollisionAlgorithm::processCollision ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
) [virtual]

report a contact. internally this will be kept persistent, and contact reduction is done

Implements btCollisionAlgorithm.

Definition at line 51 of file btSphereBoxCollisionAlgorithm.cpp.

References btManifoldResult::addContactPoint(), getSphereDistance(), normalize(), btManifoldResult::refreshContactPoints(), btManifoldResult::setPersistentManifold(), and SIMD_EPSILON.


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