42 m_simplexSolver->reset();
46 btVector3 linVelA, linVelB;
47 linVelA = toA.getOrigin() - fromA.getOrigin();
48 linVelB = toB.getOrigin() - fromB.getOrigin();
58 bool hasResult =
false;
60 btVector3 r = (linVelA - linVelB);
69 identityTrans.setIdentity();
82 input.m_transformB = fromB;
98 if (numIter > maxIter)
104 btScalar projectedLinearVelocity = r.dot(n);
106 dLambda = dist / (projectedLinearVelocity);
108 lambda = lambda - dLambda;
117 if (lambda <= lastLambda)
126 result.DebugDraw(lambda);
127 input.m_transformA.getOrigin().setInterpolate3(fromA.getOrigin(), toA.getOrigin(), lambda);
128 input.m_transformB.getOrigin().setInterpolate3(fromB.getOrigin(), toB.getOrigin(), lambda);
135 result.m_fraction = lastLambda;
154 if (n.dot(r) >= -result.m_allowedPenetration)
157 result.m_fraction = lambda;
159 result.m_hitPoint = c;
virtual bool calcTimeOfImpact(const btTransform &fromA, const btTransform &toA, const btTransform &fromB, const btTransform &toB, CastResult &result)
cast a convex against another convex object