btGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
More...
#include <btGjkPairDetector.h>
|
| | btGjkPairDetector (const btConvexShape *objectA, const btConvexShape *objectB, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *penetrationDepthSolver) |
| |
| | btGjkPairDetector (const btConvexShape *objectA, const btConvexShape *objectB, int shapeTypeA, int shapeTypeB, btScalar marginA, btScalar marginB, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *penetrationDepthSolver) |
| |
| virtual | ~btGjkPairDetector () |
| |
| virtual void | getClosestPoints (const ClosestPointInput &input, Result &output, class btIDebugDraw *debugDraw, bool swapResults=false) |
| |
| void | getClosestPointsNonVirtual (const ClosestPointInput &input, Result &output, class btIDebugDraw *debugDraw) |
| |
| void | setMinkowskiA (const btConvexShape *minkA) |
| |
| void | setMinkowskiB (const btConvexShape *minkB) |
| |
| void | setCachedSeperatingAxis (const btVector3 &seperatingAxis) |
| |
| const btVector3 & | getCachedSeparatingAxis () const |
| |
| btScalar | getCachedSeparatingDistance () const |
| |
| void | setPenetrationDepthSolver (btConvexPenetrationDepthSolver *penetrationDepthSolver) |
| |
| void | setIgnoreMargin (bool ignoreMargin) |
| | don't use setIgnoreMargin, it's for Bullet's internal use More...
|
| |
| virtual | ~btDiscreteCollisionDetectorInterface () |
| |
| virtual btGjkPairDetector::~btGjkPairDetector |
( |
| ) |
|
|
inlinevirtual |
| const btVector3& btGjkPairDetector::getCachedSeparatingAxis |
( |
| ) |
const |
|
inline |
| btScalar btGjkPairDetector::getCachedSeparatingDistance |
( |
| ) |
const |
|
inline |
this is another degenerate case, where the initial GJK calculation reports a degenerate case EPA reports no penetration, and the second GJK (using the supporting vector without margin) reports a valid positive distance. Use the results of the second GJK instead of failing. thanks to Jacob.Langford for the reproduction case http://code.google.com/p/bullet/issues/detail?id=250
for sticky convex collisions
Definition at line 84 of file btGjkPairDetector.cpp.
| void btGjkPairDetector::setCachedSeperatingAxis |
( |
const btVector3 & |
seperatingAxis | ) |
|
|
inline |
| void btGjkPairDetector::setIgnoreMargin |
( |
bool |
ignoreMargin | ) |
|
|
inline |
don't use setIgnoreMargin, it's for Bullet's internal use
Definition at line 95 of file btGjkPairDetector.h.
| void btGjkPairDetector::setMinkowskiA |
( |
const btConvexShape * |
minkA | ) |
|
|
inline |
| void btGjkPairDetector::setMinkowskiB |
( |
const btConvexShape * |
minkB | ) |
|
|
inline |
| btVector3 btGjkPairDetector::m_cachedSeparatingAxis |
|
private |
| btScalar btGjkPairDetector::m_cachedSeparatingDistance |
|
private |
| int btGjkPairDetector::m_catchDegeneracies |
| int btGjkPairDetector::m_curIter |
| int btGjkPairDetector::m_degenerateSimplex |
| int btGjkPairDetector::m_fixContactNormalDirection |
| bool btGjkPairDetector::m_ignoreMargin |
|
private |
| int btGjkPairDetector::m_lastUsedMethod |
| int btGjkPairDetector::m_shapeTypeA |
|
private |
| int btGjkPairDetector::m_shapeTypeB |
|
private |
The documentation for this class was generated from the following files: