add some quaternion normalizations to keep errors under control

avinationmerge
UbitUmarov 2012-10-10 00:57:33 +01:00
parent c0cdeec4c0
commit 8fa91686db
1 changed files with 3 additions and 0 deletions

View File

@ -646,6 +646,8 @@ namespace OpenSim.Region.Physics.OdePlugin
if (value.Length() > 1.01f || qlen <0.99) if (value.Length() > 1.01f || qlen <0.99)
m_log.WarnFormat("[PHYSICS]: Got nonnorm quaternion Orientation from Scene in Object {0} norm {1}", Name, qlen); m_log.WarnFormat("[PHYSICS]: Got nonnorm quaternion Orientation from Scene in Object {0} norm {1}", Name, qlen);
// //
value.Normalize();
AddChange(changes.Orientation, value); AddChange(changes.Orientation, value);
} }
else else
@ -2252,6 +2254,7 @@ namespace OpenSim.Region.Physics.OdePlugin
if (qlen > 1.01f || qlen < 0.99) if (qlen > 1.01f || qlen < 0.99)
m_log.WarnFormat("[PHYSICS]: Got nonnorm quaternion from geom in Object {0} norm {1}", Name, qlen); m_log.WarnFormat("[PHYSICS]: Got nonnorm quaternion from geom in Object {0} norm {1}", Name, qlen);
// //
_orientation.Normalize();
d.Vector3 lpos = d.GeomGetPosition(prim_geom); d.Vector3 lpos = d.GeomGetPosition(prim_geom);
_position.X = lpos.X; _position.X = lpos.X;