Convex-Concave collisions...what am I doing wrong?

AndyK
Posts: 3
Joined: Thu Nov 13, 2008 6:33 pm

Convex-Concave collisions...what am I doing wrong?

Post by AndyK »

I have a btBvhTriangleMesh (static object) that I am trying to collide with a sphere, when the sphere gets into the bounding area of the mesh, the collision pair gets added to myHashPairCache (the btHashedOverlappingPairCache in myOverlappingPairCallback) which makes sense. But my problem is that eventhough the objects are not colliding the narrowphase (or what ever needs to be) is not calling to remove the pair from my cache when there is no actual collision.

I am positive that they are not colliding because I followed the code all the way into the btConvexConcaveCollisionAlgorithm and saw it test the aabb of my object against every triangle in the btBvhTriangleMesh.

I read about the NearCallback that I can implement but that seemed to be more of a filtering/masking tool to me.

I am sure there is something obvious that I am missing but I just can't seem to figure it out.

I have also noticed that in btHashedOverlappingPairCache::processAllOverlappingPairs() the statement callback->processOverlap(*pair) can only return false, thereby not calling removeOverlappingPair. The processOverlap() that I am seeing is in the class btCollisionPairCallback (line 217 of btCollisionDispatcher.cpp)

Any help or advise would be greatly appreciated!!!