Hello
On contact notification, I need to have the average position of contact :
virtual void onContact(const PxContactPairHeader & pairHeader,const PxContactPair * pairs,PxU32 nbPairs)
{
for (PxU32 i=0;i<nbPairs;i++)
{
PxVec3 position=getAverageContactPosition(pairs[i]);
//...
}
}
PxVec3 getAverageContactPosition(const PxContactPair & pairs)
{
PxContactPairPoint * contacts=new PxContactPairPoint[pairs.contactCount];
pairs.extractContacts(contacts,pairs.contactCount*sizeof(PxContactPairPoint));
PxVec3 acc=PxVec3(static_cast<PxReal>(0.0f),static_cast<PxReal>(0.0f),static_cast<PxReal>(0.0f));
for (PxU16 i=0;i<pairs.contactCount;i++)
acc+=contacts[i].position;
delete [] contacts;
return acc/pairs.contactCount;
}
…but pairs.contactCount is always 0 and pairs.contactStream is always NULL.
Why ?