24 #ifdef BT_USE_DOUBLE_PRECISION
25 #define MAX_ITERATIONS 64
27 #define MAX_ITERATIONS 32
31 :m_simplexSolver(simplexSolver),
62 bool hasResult =
false;
104 while (dist > radius)
107 if (numIter > maxIter)
115 dLambda = dist / (projectedLinearVelocity);
117 lambda = lambda - dLambda;
126 if (lambda <= lastLambda)
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
float dist(const Point3 &pnt0, const Point3 &pnt1)
btScalar dot(const btVector3 &v) const
Return the dot product.
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape...
btScalar m_allowedPenetration
virtual bool calcTimeOfImpact(const btTransform &fromA, const btTransform &toA, const btTransform &fromB, const btTransform &toB, CastResult &result)
cast a convex against another convex object
virtual void DebugDraw(btScalar fraction)
RayResult stores the closest result alternatively, add a callback method to decide about closest/all ...
#define btSimplexSolverInterface
const btConvexShape * m_convexA
btGjkConvexCast(const btConvexShape *convexA, const btConvexShape *convexB, btSimplexSolverInterface *simplexSolver)
btVector3 can be used to represent 3D points and vectors.
btSimplexSolverInterface * m_simplexSolver
btGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
const btConvexShape * m_convexB
void setInterpolate3(const btVector3 &v0, const btVector3 &v1, btScalar rt)
btVector3 m_normalOnBInWorld
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
virtual void getClosestPoints(const ClosestPointInput &input, Result &output, class btIDebugDraw *debugDraw, bool swapResults=false)