I'm detecting collisions like this:
Code: Select all
bool callbackFunc(btManifoldPoint& cp,const btCollisionObjectWrapper* obj1,int id1,int index1,const btCollisionObjectWrapper* obj2,int id2,int index2)
{
int num1,num2; //num 1 is id 1, num 2 is id 2
num1=((bulletObject*)obj1->getCollisionObject()->getUserPointer())->id;
num2=((bulletObject*)obj2->getCollisionObject()->getUserPointer())->id;
//collision check for rod
if ((num1==3 || num2==3) && ((bulletObject*)obj2->getCollisionObject()->getUserPointer())->hitbranch==false)
{
((bulletObject*)obj1->getCollisionObject()->getUserPointer())->hitrod=true;
((bulletObject*)obj2->getCollisionObject()->getUserPointer())->hitrod=true;
}
//collision check for branch
if ((num1==2 || num2==2) && ((bulletObject*)obj2->getCollisionObject()->getUserPointer())->hitrod==false)
{
((bulletObject*)obj1->getCollisionObject()->getUserPointer())->hitbranch=true;
((bulletObject*)obj2->getCollisionObject()->getUserPointer())->hitbranch=true;
}
return false;
}