If the distance is below a given threshold, the CCD will not return a hit. The default threshold value is 0.04.
You can disable this threshold by setting this threshold to zero, using
Code: Select all
collisionWorld->getDispatchInfo().m_allowedCcdPenetration = 0;
To avoid confusion, things are different in latest trunk. The allowedCcdPenetration is now passed in as optional argument to the btCollisionWorld::convexSweepTest, with default value 0 (and not 0.04).
For better performance on short swept queries, it might be better to insert a btGhostObject in the world, and leave it in the world as long as you need to perform short queries in a certain area. A btGhostObject incrementally gathers overlapping objects.
Then perform the btGhostObject::convexSweepTest, just like the btCollisionWorld::convexSweepTest. This will only test the ghost overlapping objects (instead of traversing world/broadphase acceleration structures).
So please upgrade to latest trunk or Bullet 2.73 RC5/final.
Hope this helps, and thanks for the feedback,
Erwin