diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index c8ecc9bf90..2ff3fb7f63 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -797,7 +797,14 @@ namespace OpenSim.Region.Framework.Scenes m_rotationOffset = actor.Orientation; } } - + +// 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; } + /// + /// This updates the part's rotation and sends out an update to clients if necessary. + /// + /// 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; diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ee6c708d3f..38cdd77e5c 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1769,7 +1769,7 @@ namespace OpenSim.Region.Framework.Scenes Rotation = Quaternion.CreateFromEulers(angle); // m_log.DebugFormat("[SCENE PRESENCE]: Body rot for {0} set to {1}", Name, Rotation); - + Vector3 agent_control_v3 = new Vector3(); HandleMoveToTargetUpdate(ref agent_control_v3); AddNewMovement(agent_control_v3);