17 #ifndef BT_MANIFOLD_RESULT_H 18 #define BT_MANIFOLD_RESULT_H 57 #ifdef DEBUG_PART_INDEX
158 #endif //BT_MANIFOLD_RESULT_H btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
virtual ~btManifoldResult()
void refreshContactPoints(const btTransform &trA, const btTransform &trB)
calculated new worldspace coordinates and depth, and reject points that exceed the collision margin
const btCollisionObjectWrapper * getBody0Wrap() const
static btScalar calculateCombinedContactDamping(const btCollisionObject *body0, const btCollisionObject *body1)
btPersistentManifold * m_manifoldPtr
const btCollisionObject * getBody1Internal() const
static btScalar calculateCombinedRollingFriction(const btCollisionObject *body0, const btCollisionObject *body1)
btPersistentManifold * getPersistentManifold()
void setPersistentManifold(btPersistentManifold *manifoldPtr)
int getNumContacts() const
void refreshContactPoints()
#define SIMD_FORCE_INLINE
static btScalar calculateCombinedContactStiffness(const btCollisionObject *body0, const btCollisionObject *body1)
ManifoldContactPoint collects and maintains persistent contactpoints.
btManifoldResult is a helper class to manage contact results.
const btCollisionObjectWrapper * m_body1Wrap
virtual void setShapeIdentifiersA(int partId0, int index0)
setShapeIdentifiersA/B provides experimental support for per-triangle material / custom material comb...
virtual void addContactPoint(const btVector3 &normalOnBInWorld, const btVector3 &pointInWorld, btScalar depth)
btTransform & getWorldTransform()
btScalar m_closestPointDistanceThreshold
const btCollisionObject * getBody0() const
const btCollisionObject * getCollisionObject() const
btCollisionObject can be used to manage collision detection objects.
virtual void setShapeIdentifiersB(int partId1, int index1)
static btScalar calculateCombinedFriction(const btCollisionObject *body0, const btCollisionObject *body1)
User can override this material combiner by implementing gContactAddedCallback and setting body0->m_c...
btVector3 can be used to represent 3D points and vectors.
bool(* ContactAddedCallback)(btManifoldPoint &cp, const btCollisionObjectWrapper *colObj0Wrap, int partId0, int index0, const btCollisionObjectWrapper *colObj1Wrap, int partId1, int index1)
const btCollisionObject * getBody0Internal() const
static btScalar calculateCombinedSpinningFriction(const btCollisionObject *body0, const btCollisionObject *body1)
void setBody1Wrap(const btCollisionObjectWrapper *obj1Wrap)
ContactAddedCallback gContactAddedCallback
This is to allow MaterialCombiner/Custom Friction/Restitution values.
const btCollisionObjectWrapper * getBody1Wrap() const
const btCollisionObjectWrapper * m_body0Wrap
void setBody0Wrap(const btCollisionObjectWrapper *obj0Wrap)
static btScalar calculateCombinedRestitution(const btCollisionObject *body0, const btCollisionObject *body1)
in the future we can let the user override the methods to combine restitution and friction
const btPersistentManifold * getPersistentManifold() const
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...