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:
@@ -638,6 +638,11 @@ void btConeTwistConstraint::calcAngleInfo2(const btTransform& transA, const btTr
|
|||||||
btTransform trDeltaAB = trB * trPose * trA.inverse();
|
btTransform trDeltaAB = trB * trPose * trA.inverse();
|
||||||
btQuaternion qDeltaAB = trDeltaAB.getRotation();
|
btQuaternion qDeltaAB = trDeltaAB.getRotation();
|
||||||
btVector3 swingAxis = btVector3(qDeltaAB.x(), qDeltaAB.y(), qDeltaAB.z());
|
btVector3 swingAxis = btVector3(qDeltaAB.x(), qDeltaAB.y(), qDeltaAB.z());
|
||||||
|
float swingAxisLen2 = swingAxis.length2();
|
||||||
|
if(btFuzzyZero(swingAxisLen2))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
m_swingAxis = swingAxis;
|
m_swingAxis = swingAxis;
|
||||||
m_swingAxis.normalize();
|
m_swingAxis.normalize();
|
||||||
m_swingCorrection = qDeltaAB.getAngle();
|
m_swingCorrection = qDeltaAB.getAngle();
|
||||||
|
|||||||
Reference in New Issue
Block a user