Code for my callback below:
Code: Select all
struct onGroundCheck : public btCollisionWorld::ContactResultCallback
{
virtual btScalar addSingleResult(btManifoldPoint& cp, const btCollisionObject* colObj0, int partId0, int index0, const btCollisionObject* colObj1, int partId1,int index1)
{
if((cp.m_normalWorldOnB.getY() * OvglPi) > OvglPi - maxSlope)
{
onGround = true;
((btRigidBody*)colObj0)->setFriction(3.0f);
}
else
{
onGround = false;
((btRigidBody*)colObj0)->setFriction(0.0f);
}
return 0;
}
float maxSlope;
bool onGround;
};