Blender V2.61 - r43446
Classes | Public Member Functions

btConvex2dConvex2dAlgorithm Class Reference

#include <btConvex2dConvex2dAlgorithm.h>

Inheritance diagram for btConvex2dConvex2dAlgorithm:
Inheritance graph
[legend]

List of all members.

Classes

struct  CreateFunc

Public Member Functions

 btConvex2dConvex2dAlgorithm (btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *body0, btCollisionObject *body1, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *pdSolver, int numPerturbationIterations, int minimumPointsPerturbationThreshold)
virtual ~btConvex2dConvex2dAlgorithm ()
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)
void setLowLevelOfDetail (bool useLowLevel)
const btPersistentManifold * getManifold ()

Detailed Description

The convex2dConvex2dAlgorithm collision algorithm support 2d collision detection for btConvex2dShape Currently it requires the btMinkowskiPenetrationDepthSolver, it has support for 2d penetration depth computation

Definition at line 33 of file btConvex2dConvex2dAlgorithm.h.


Constructor & Destructor Documentation

btConvex2dConvex2dAlgorithm::btConvex2dConvex2dAlgorithm ( btPersistentManifold *  mf,
const btCollisionAlgorithmConstructionInfo ci,
btCollisionObject *  body0,
btCollisionObject *  body1,
btSimplexSolverInterface *  simplexSolver,
btConvexPenetrationDepthSolver pdSolver,
int  numPerturbationIterations,
int  minimumPointsPerturbationThreshold 
)
btConvex2dConvex2dAlgorithm::~btConvex2dConvex2dAlgorithm ( ) [virtual]

Member Function Documentation

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

Rather then checking ALL pairs, only calculate TOI when motion exceeds threshold

Linear motion for one of objects needs to exceed m_ccdSquareMotionThreshold col0->m_worldTransform,

Convex0 against sphere for Convex1

Simplification, one object is simplified as a sphere

Sphere (for convex0) against Convex1

Simplification, one object is simplified as a sphere

Implements btCollisionAlgorithm.

Definition at line 156 of file btConvex2dConvex2dAlgorithm.cpp.

References btGjkConvexCast::calcTimeOfImpact().

virtual void btConvex2dConvex2dAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray) [inline, virtual]

should we use m_ownManifold to avoid adding duplicates?

Implements btCollisionAlgorithm.

Definition at line 57 of file btConvex2dConvex2dAlgorithm.h.

References btAlignedObjectArray< T >::push_back().

const btPersistentManifold* btConvex2dConvex2dAlgorithm::getManifold ( ) [inline]

Definition at line 68 of file btConvex2dConvex2dAlgorithm.h.

void btConvex2dConvex2dAlgorithm::processCollision ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
) [virtual]
void btConvex2dConvex2dAlgorithm::setLowLevelOfDetail ( bool  useLowLevel)

Definition at line 86 of file btConvex2dConvex2dAlgorithm.cpp.


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