Here is my tick callback (similar to the article):
Code: Select all
int numManifolds = world->getDispatcher()->getNumManifolds();
for (int i=0;i<numManifolds;i++){
btPersistentManifold* contactManifold = world->getDispatcher()->getManifoldByIndexInternal(i);
btCollisionObject* ob1 = static_cast<btCollisionObject*>(contactManifold->getBody0());
btCollisionObject* ob2 = static_cast<btCollisionObject*>(contactManifold->getBody1());
int numContacts = contactManifold->getNumContacts();
for (int j=0;j<numContacts;j++){
btManifoldPoint& pt = contactManifold->getContactPoint(j);
if(pt.m_lifeTime>0){
// ... do sound stuff