76void btConvex2dConvex2dAlgorithm ::setLowLevelOfDetail(
bool useLowLevel)
94 resultOut->setPersistentManifold(m_manifoldPtr);
114 input.m_maximumDistanceSquared =
min0->getMargin() +
min1->getMargin() + m_manifoldPtr->getContactBreakingThreshold();
115 input.m_maximumDistanceSquared *=
input.m_maximumDistanceSquared;
167 if (
ccd1.calcTimeOfImpact(
col0->getWorldTransform(),
col0->getInterpolationWorldTransform(),
168 col1->getWorldTransform(),
col1->getInterpolationWorldTransform(),
result))
172 if (
col0->getHitFraction() >
result.m_fraction)
175 if (
col1->getHitFraction() >
result.m_fraction)
194 if (
ccd1.calcTimeOfImpact(
col0->getWorldTransform(),
col0->getInterpolationWorldTransform(),
195 col1->getWorldTransform(),
col1->getInterpolationWorldTransform(),
result))
199 if (
col0->getHitFraction() >
result.m_fraction)
202 if (
col1->getHitFraction() >
result.m_fraction)
btScalar gContactBreakingThreshold
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 btSimplexSolverInterface
This class is not enabled yet (work-in-progress) to more aggressively activate objects.
btDispatcher * m_dispatcher
btCollisionObject can be used to manage collision detection objects.
btConvexPenetrationDepthSolver * m_pdSolver
virtual ~btConvex2dConvex2dAlgorithm()
virtual btScalar calculateTimeOfImpact(btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
btConvex2dConvex2dAlgorithm(btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *pdSolver, int numPerturbationIterations, int minimumPointsPerturbationThreshold)
btPersistentManifold * m_manifoldPtr
btSimplexSolverInterface * m_simplexSolver
ConvexPenetrationDepthSolver provides an interface for penetration depth calculation.
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape...
virtual void releaseManifold(btPersistentManifold *manifold)=0
GjkConvexCast performs a raycast on a convex object using support mapping.
btGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
btManifoldResult is a helper class to manage contact results.
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
The btSphereShape implements an implicit sphere, centered around a local origin with radius.
btVector3 can be used to represent 3D points and vectors.
btVoronoiSimplexSolver is an implementation of the closest point distance algorithm from a 1-4 points...
const btCollisionShape * getCollisionShape() const
const btCollisionObject * getCollisionObject() const
const btTransform & getWorldTransform() const
btConvexPenetrationDepthSolver * m_pdSolver
CreateFunc(btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *pdSolver)
btSimplexSolverInterface * m_simplexSolver
RayResult stores the closest result alternatively, add a callback method to decide about closest/all ...