32 if (friction < -MAX_FRICTION)
33 friction = -MAX_FRICTION;
34 if (friction > MAX_FRICTION)
35 friction = MAX_FRICTION;
45 if (friction < -MAX_FRICTION)
46 friction = -MAX_FRICTION;
47 if (friction > MAX_FRICTION)
48 friction = MAX_FRICTION;
58 if (friction < -MAX_FRICTION)
59 friction = -MAX_FRICTION;
60 if (friction > MAX_FRICTION)
61 friction = MAX_FRICTION;
85 return combinedStiffness;
91 m_body0Wrap(body0Wrap),
92 m_body1Wrap(body1Wrap)
93 #ifdef DEBUG_PART_INDEX
99 , m_closestPointDistanceThreshold(0)
116 btVector3 pointA = pointInWorld + normalOnBInWorld * depth;
176 if (insertIndex >= 0)
ContactStartedCallback gContactStartedCallback
btScalar getContactBreakingThreshold() const
btScalar m_combinedContactStiffness1
btVector3 m_lateralFrictionDir1
btScalar getContactDamping() const
static btScalar calculateCombinedContactDamping(const btCollisionObject *body0, const btCollisionObject *body1)
btPersistentManifold * m_manifoldPtr
btScalar m_combinedRestitution
static btScalar calculateCombinedRollingFriction(const btCollisionObject *body0, const btCollisionObject *body1)
int getNumContacts() const
btScalar getContactStiffness() const
void btPlaneSpace1(const T &n, T &p, T &q)
static btScalar calculateCombinedContactStiffness(const btCollisionObject *body0, const btCollisionObject *body1)
ManifoldContactPoint collects and maintains persistent contactpoints.
const btCollisionObjectWrapper * m_body1Wrap
const btManifoldPoint & getContactPoint(int index) const
virtual void addContactPoint(const btVector3 &normalOnBInWorld, const btVector3 &pointInWorld, btScalar depth)
btScalar m_combinedRollingFriction
btTransform & getWorldTransform()
btVector3 m_normalWorldOnB
btVector3 m_positionWorldOnB
const btCollisionObject * getBody0() const
const btCollisionObject * getCollisionObject() const
btScalar getRestitution() const
btCollisionObject can be used to manage collision detection objects.
btVector3 m_positionWorldOnA
m_positionWorldOnA is redundant information, see getPositionWorldOnA(), but for clarity
btScalar getRollingFriction() const
int getCollisionFlags() const
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)
btScalar m_combinedContactDamping1
btScalar getSpinningFriction() const
static btScalar calculateCombinedSpinningFriction(const btCollisionObject *body0, const btCollisionObject *body1)
ContactAddedCallback gContactAddedCallback
This is to allow MaterialCombiner/Custom Friction/Restitution values.
btScalar m_combinedFriction
const btCollisionObjectWrapper * m_body0Wrap
btVector3 m_lateralFrictionDir2
void replaceContactPoint(const btManifoldPoint &newPoint, int insertIndex)
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
btScalar getFriction() const
int addManifoldPoint(const btManifoldPoint &newPoint, bool isPredictive=false)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar m_combinedSpinningFriction
int getCacheEntry(const btManifoldPoint &newPoint) const