From 76379a415b806f8419f3bb3e5057f8482f35fb5a Mon Sep 17 00:00:00 2001 From: MW Date: Tue, 21 Aug 2007 16:32:31 +0000 Subject: A bit more work on prim building related code. Think most of the building tools are now connected up and its now just a case of doing some bug fixing. --- OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 12 ++++-------- OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 3 +++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 0180e14..d94a748 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs @@ -541,7 +541,6 @@ namespace OpenSim.Region.Environment.Scenes if (hasPrim != false) { ((SceneObjectGroup)ent).UpdateGroupRotation(pos, rot); - // prim.UpdateGroupMouseRotation(pos, rot); break; } } @@ -565,7 +564,6 @@ namespace OpenSim.Region.Environment.Scenes if (hasPrim != false) { ((SceneObjectGroup)ent).UpdateGroupRotation(rot); - //prim.UpdateGroupRotation(rot); break; } } @@ -580,16 +578,15 @@ namespace OpenSim.Region.Environment.Scenes /// public void UpdatePrimSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient) { - //Console.WriteLine("trying to update single prim rotation"); - Primitive prim = null; + bool hasPrim = false; foreach (EntityBase ent in Entities.Values) { if (ent is SceneObjectGroup) { - // prim = ((SceneObject)ent).HasChildPrim(localID); - if (prim != null) + hasPrim = ((SceneObjectGroup)ent).HasChildPrim(localID); + if (hasPrim != false) { - prim.UpdateSingleRotation(rot); + ((SceneObjectGroup)ent).UpdateSingleRotation(rot, localID); break; } } @@ -613,7 +610,6 @@ namespace OpenSim.Region.Environment.Scenes if (hasPrim != false) { ((SceneObjectGroup)ent).Resize(scale, localID); - // prim.ResizeGoup(scale); break; } } diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index cd38b23..1b7ff23 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -755,6 +755,7 @@ namespace OpenSim.Region.Environment.Scenes public void UpdateGroupRotation(LLQuaternion rot) { this.m_rootPart.UpdateRotation(rot); + this.ScheduleGroupForTerseUpdate(); } /// @@ -766,6 +767,7 @@ namespace OpenSim.Region.Environment.Scenes { this.m_rootPart.UpdateRotation(rot); this.AbsolutePosition = pos; + this.ScheduleGroupForTerseUpdate(); } /// @@ -813,6 +815,7 @@ namespace OpenSim.Region.Environment.Scenes prim.RotationOffset = new LLQuaternion(newRot.w, newRot.x, newRot.y, newRot.z); } } + this.m_rootPart.ScheduleTerseUpdate(); } #endregion /// -- cgit v1.1