Yes, infact it's very easy to implement. However eventually I decided I don't need it anymore so I didn't really bothered with it.
If you want it, you can hack it in by opening btRaycastCallback.cpp:
Look for btTriangleRaycastCallback::processTriangle()
then change:
Code: Select all
if ( dist_a * dist_b >= btScalar(0.0) )
{
return ; // same sign
}
to
Code: Select all
if ( dist_a * dist_b >= btScalar(0.0) || dist_b > dist_a)
{
return ; // same sign
}
Maybe you can propose a way to set it as an option with it disabled by default. Would be cool to have it in the official build.
