Fix a division by zero in btConeTwistConstraint::calcAngleInfo2

http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=7867
Thanks to Aardwolf for report and Roman Ponomarev for the fix
This commit is contained in:
erwin.coumans
2012-02-16 23:44:43 +00:00
parent 9bfdc346c3
commit 15deee7e79

View File

@@ -638,6 +638,11 @@ void btConeTwistConstraint::calcAngleInfo2(const btTransform& transA, const btTr
btTransform trDeltaAB = trB * trPose * trA.inverse();
btQuaternion qDeltaAB = trDeltaAB.getRotation();
btVector3 swingAxis = btVector3(qDeltaAB.x(), qDeltaAB.y(), qDeltaAB.z());
float swingAxisLen2 = swingAxis.length2();
if(btFuzzyZero(swingAxisLen2))
{
return;
}
m_swingAxis = swingAxis;
m_swingAxis.normalize();
m_swingCorrection = qDeltaAB.getAngle();