Blender V2.61 - r43446
|
#include <btConvex2dConvex2dAlgorithm.h>
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 () |
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.
btConvex2dConvex2dAlgorithm::btConvex2dConvex2dAlgorithm | ( | btPersistentManifold * | mf, |
const btCollisionAlgorithmConstructionInfo & | ci, | ||
btCollisionObject * | body0, | ||
btCollisionObject * | body1, | ||
btSimplexSolverInterface * | simplexSolver, | ||
btConvexPenetrationDepthSolver * | pdSolver, | ||
int | numPerturbationIterations, | ||
int | minimumPointsPerturbationThreshold | ||
) |
Definition at line 60 of file btConvex2dConvex2dAlgorithm.cpp.
Referenced by btConvex2dConvex2dAlgorithm::CreateFunc::CreateCollisionAlgorithm().
btConvex2dConvex2dAlgorithm::~btConvex2dConvex2dAlgorithm | ( | ) | [virtual] |
Definition at line 77 of file btConvex2dConvex2dAlgorithm.cpp.
References btCollisionAlgorithm::m_dispatcher, and btDispatcher::releaseManifold().
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] |
Implements btCollisionAlgorithm.
Definition at line 99 of file btConvex2dConvex2dAlgorithm.cpp.
References btGjkPairDetector::getClosestPoints(), btDispatcher::getNewManifold(), btDispatcherInfo::m_debugDraw, btCollisionAlgorithm::m_dispatcher, btDiscreteCollisionDetectorInterface::ClosestPointInput::m_maximumDistanceSquared, btDiscreteCollisionDetectorInterface::ClosestPointInput::m_stackAlloc, btDispatcherInfo::m_stackAllocator, btDiscreteCollisionDetectorInterface::ClosestPointInput::m_transformA, btDiscreteCollisionDetectorInterface::ClosestPointInput::m_transformB, btManifoldResult::refreshContactPoints(), btGjkPairDetector::setMinkowskiA(), btGjkPairDetector::setMinkowskiB(), and btManifoldResult::setPersistentManifold().
void btConvex2dConvex2dAlgorithm::setLowLevelOfDetail | ( | bool | useLowLevel | ) |
Definition at line 86 of file btConvex2dConvex2dAlgorithm.cpp.