22#define NUM_UNITSPHERE_POINTS 42
72#define USE_BATCHED_SUPPORT 1
74#ifdef USE_BATCHED_SUPPORT
95 for (
int i = 0; i <
numPDA; i++)
98 convexA->getPreferredPenetrationDirection(i, norm);
99 norm =
transA.getBasis() * norm;
109 int numPDB =
convexB->getNumPreferredPenetrationDirections();
112 for (
int i = 0; i <
numPDB; i++)
115 convexB->getPreferredPenetrationDirection(i, norm);
116 norm =
transB.getBasis() * norm;
169 int numPDA =
convexA->getNumPreferredPenetrationDirections();
172 for (
int i = 0; i <
numPDA; i++)
175 convexA->getPreferredPenetrationDirection(i, norm);
176 norm =
transA.getBasis() * norm;
184 int numPDB =
convexB->getNumPreferredPenetrationDirections();
187 for (
int i = 0; i <
numPDB; i++)
190 convexB->getPreferredPenetrationDirection(i, norm);
191 norm =
transB.getBasis() * norm;
274 pb =
res.m_pointInWorld;
285 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.