get list of collision pairs

Post Reply
MadMaxxx
Posts: 2
Joined: Fri Apr 13, 2012 4:11 am

get list of collision pairs

Post by MadMaxxx » Fri Apr 13, 2012 4:20 am

Can you please tell how to Bullet can get a list of objects of class btRigidBody, collided with this object.

Sorry for my google.translate)

MaxDZ8
Posts: 149
Joined: Fri Jun 24, 2011 8:53 am

Re: get list of collision pairs

Post by MaxDZ8 » Fri Apr 13, 2012 4:35 pm

The manual, reads:
The broadphase adds and removes overlapping pairs from a pair cache. The developer can choose the type of pair cache.
A collision dispatcher iterates over each pair, searches for a matching collision algorithm based on the types of objects involved and executes the collision algorithm computing contact points.

So, get all the manifolds and loop on them. I was pretty sure the manual included a code snippet in the past but I'm unable to find it myself so for your convenience, the code will be like

Code: Select all

const int manifoldCount(dispatcher.getNumManifolds());
for(int loop = 0; loop < manifoldCount; loop++) {
	const btPersistentManifold *mf = dispatcher.getManifoldByIndexInternal(loop);
	const void *obja = mf->getBody0();
	const void *objb = mf->getBody1();
	if(obja == object || objb == object) {
		// This manifold deals with the btRigidBody we are looking for.
		// A manifold is a RB-RB pair containing a list of potential (predicted) contact points.
		const unsigned int numContacts(mf->getNumContacts());
		for(int check = 0; check < numContacts; check++) {
			const btManifoldPoint &pt(mf->getContactPoint(check));
			// do something here, in case you're interested.
		}
	}
}

MadMaxxx
Posts: 2
Joined: Fri Apr 13, 2012 4:11 am

Re: get list of collision pairs

Post by MadMaxxx » Fri Apr 13, 2012 6:08 pm

thank you very much

khoowaikeong
Posts: 43
Joined: Fri Jun 15, 2012 7:11 am

Re: get list of collision pairs

Post by khoowaikeong » Tue Jul 31, 2012 4:04 am

just what i am looking for.
is the 'object' in the code referring to our btRigidBody object?
as getBody doesn't seem to be specify type.

DannyChapman
Posts: 85
Joined: Sun Jan 07, 2007 4:29 pm
Location: Oxford, England
Contact:

Re: get list of collision pairs

Post by DannyChapman » Tue Jul 31, 2012 8:49 am


Post Reply