more tweaking to get GJK more reliable

This commit is contained in:
ejcoumans
2006-11-15 02:23:45 +00:00
parent b5afb11282
commit dcdfbe1680
2 changed files with 17 additions and 1 deletions

View File

@@ -477,6 +477,22 @@ static void KeyboardCallback(unsigned char key, int x, int y)
case '4': case '4':
gConvex0.mTransform.setOrigin(gConvex0.mTransform.getOrigin() + btVector3(-gDisp,0,0)); gConvex0.mTransform.setOrigin(gConvex0.mTransform.getOrigin() + btVector3(-gDisp,0,0));
break; break;
case '7':
gConvex0.mTransform.setRotation(gConvex0.mTransform.getRotation()*btQuaternion(btVector3(1,0,0),0.01));
break;
case '9':
gConvex0.mTransform.setRotation(gConvex0.mTransform.getRotation()*btQuaternion(btVector3(1,0,0),-0.01));
break;
case '1':
gConvex0.mTransform.setRotation(gConvex0.mTransform.getRotation()*btQuaternion(btVector3(0,1,0),0.01));
break;
case '3':
gConvex0.mTransform.setRotation(gConvex0.mTransform.getRotation()*btQuaternion(btVector3(0,1,0),-0.01));
break;
case '5':
gConvex0.mTransform.setRotation(gConvex0.mTransform.getRotation()*btQuaternion(btVector3(0,0,1),0.01));
break;
case '6': case '6':
gConvex0.mTransform.setOrigin(gConvex0.mTransform.getOrigin() + btVector3(gDisp,0,0)); gConvex0.mTransform.setOrigin(gConvex0.mTransform.getOrigin() + btVector3(gDisp,0,0));
break; break;

View File

@@ -192,7 +192,7 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result&
normalInB = pointOnA-pointOnB; normalInB = pointOnA-pointOnB;
float lenSqr = m_cachedSeparatingAxis.length2(); float lenSqr = m_cachedSeparatingAxis.length2();
//valid normal //valid normal
if (lenSqr < 0.00001) if (lenSqr < 0.0001)
{ {
m_degenerateSimplex = 5; m_degenerateSimplex = 5;
} }