![]() |
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.