fetch SOP.RotationOffset once in UpdateRotation() and compare rather than fetch four separate times.

No functional change.
remove-scene-viewer
Justin Clark-Casey (justincc) 2011-10-28 23:15:51 +01:00
parent 40bee97015
commit 7b46506822
2 changed files with 21 additions and 6 deletions

View File

@ -798,6 +798,13 @@ namespace OpenSim.Region.Framework.Scenes
}
}
// float roll, pitch, yaw = 0;
// m_rotationOffset.GetEulerAngles(out roll, out pitch, out yaw);
//
// m_log.DebugFormat(
// "[SCENE OBJECT PART]: Got euler {0} for RotationOffset on {1} {2}",
// new Vector3(roll, pitch, yaw), Name, LocalId);
return m_rotationOffset;
}
@ -834,6 +841,13 @@ namespace OpenSim.Region.Framework.Scenes
m_log.Error("[SCENEOBJECTPART]: ROTATIONOFFSET" + ex.Message);
}
}
// float roll, pitch, yaw = 0;
// m_rotationOffset.GetEulerAngles(out roll, out pitch, out yaw);
//
// m_log.DebugFormat(
// "[SCENE OBJECT PART]: Set euler {0} for RotationOffset on {1} {2}",
// new Vector3(roll, pitch, yaw), Name, LocalId);
}
}
@ -4495,12 +4509,13 @@ namespace OpenSim.Region.Framework.Scenes
PhysActor = null;
}
/// <summary>
/// This updates the part's rotation and sends out an update to clients if necessary.
/// </summary>
/// <param name="rot"></param>
public void UpdateRotation(Quaternion rot)
{
if ((rot.X != RotationOffset.X) ||
(rot.Y != RotationOffset.Y) ||
(rot.Z != RotationOffset.Z) ||
(rot.W != RotationOffset.W))
if (rot != RotationOffset)
{
RotationOffset = rot;