Of course I understand your point of view. To be honoust I would stick with ODE if the Trianglemesh-Trianglemesh collision would not raise an strange ODE exception.
Btw thanks for the explanation between overlap and contact. I was just confused that a ghost could take a TriangleMesh as well, so i thought that in the case of tri-ghost vs tri-ghost check the overlap check is using a triangle-triangle test.
Just to clearify it:
You said that
“And no, if you check for overlaps OR contacts you won’t get duplicate results A,B and B,A”
but if do the following would not I get duplicated results?
for ghost in world.getGhosts():
for res in ghost.getOverlappingNodes():
pass
To the best of my knowledge I would do every node j <-> node i test which i.e. results into node 1 <-> node 2 and node 2 <-> node 1 but maybe I am wrong and Bullet works completely different internally. By the way a “get all contacts” or get all “get all overlaps” would ease the pain of iteration massivly because c++ is much faster than my python code.
The requested Debugging info:
dl.dropbox.com/u/6841319/render-ls.txt
dl.dropbox.com/u/6841319/screens … 11-525.jpg <- Ghosts are centered around 0,0,0 but the models can be found there the red and green symbols are located.