Ray-cylinder collision may fail to create contact
Brought to you by:
tzaeschke
Ray cylinder collision may fail to create contact if ray comes from unusual angle.
See Test_Bug0019_OdeRayToCylinder.
OdeHelper.createCylinder(rootSpace, 1, 1); //result contact - invalid normal ([ -0.0, -0.0, -1.0 ])
DRay rayCastGeom = OdeHelper.createRay(rootSpace, 1);
//rayCastGeom.set(-10, 0, 0, 1, 0, 0);
//rayCastGeom.set(0, 0, 5, 0, 0, -1); //contact result DVector3[ -0.0, -0.0, -1.0 ]
rayCastGeom.set(-3, 0, 2, 3, 0, -2);
rayCastGeom.setLength(30);
This bug also exists in ODE C/C++. A patch has been proposed but not accepted.
The present bug will be fixed once ODE C/C++ is fixed.