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 »

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 »

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 »

thank you very much
khoowaikeong
Posts: 43
Joined: Fri Jun 15, 2012 7:11 am

Re: get list of collision pairs

Post by khoowaikeong »

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: 84
Joined: Sun Jan 07, 2007 4:29 pm
Location: Oxford, England
Contact:

Re: get list of collision pairs

Post by DannyChapman »

Post Reply