22#define NUM_UNITSPHERE_POINTS 42
76#define USE_BATCHED_SUPPORT 1
78#ifdef USE_BATCHED_SUPPORT
102 convexA->getPreferredPenetrationDirection(i,norm);
103 norm =
transA.getBasis() * norm;
113 int numPDB =
convexB->getNumPreferredPenetrationDirections();
116 for (
int i=0;i<
numPDB;i++)
119 convexB->getPreferredPenetrationDirection(i,norm);
120 norm =
transB.getBasis() * norm;
177 int numPDA =
convexA->getNumPreferredPenetrationDirections();
180 for (
int i=0;i<
numPDA;i++)
183 convexA->getPreferredPenetrationDirection(i,norm);
184 norm =
transA.getBasis() * norm;
192 int numPDB =
convexB->getNumPreferredPenetrationDirections();
195 for (
int i=0;i<
numPDB;i++)
198 convexB->getPreferredPenetrationDirection(i,norm);
199 norm =
transB.getBasis() * norm;
294 pb =
res.m_pointInWorld;
307 return res.m_hasResult;
#define MAX_PREFERRED_PENETRATION_DIRECTIONS
const T & btMax(const T &a, const T &b)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define NUM_UNITSPHERE_POINTS
#define btSimplexSolverInterface
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape...
btGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
virtual void drawLine(const btVector3 &from, const btVector3 &to, const btVector3 &color)=0
static btVector3 * getPenetrationDirections()
virtual bool calcPenDepth(btSimplexSolverInterface &simplexSolver, const btConvexShape *convexA, const btConvexShape *convexB, const btTransform &transA, const btTransform &transB, btVector3 &v, btVector3 &pa, btVector3 &pb, class btIDebugDraw *debugDraw)
btVector3 can be used to represent 3D points and vectors.
btScalar dot(const btVector3 &v) const
Return the dot product.
btScalar length2() const
Return the length of the vector squared.