From 7b46506822be1dd1559661453ebc580336487683 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 28 Oct 2011 23:15:51 +0100
Subject: fetch SOP.RotationOffset once in UpdateRotation() and compare rather
than fetch four separate times.
No functional change.
---
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 25 +++++++++++++++++-----
OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +-
2 files changed, 21 insertions(+), 6 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index c8ecc9b..2ff3fb7 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 ee6c708..38cdd77 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);
--
cgit v1.1