From 0e180b0ad30d5f468be1c239865688449b8747cc Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Mon, 10 Nov 2008 20:04:55 +0000 Subject: * refactor: Expose SOG.SetRootPart for outsiders to use rather than setting RootPart and adding the part separately * Make RootPart read only --- OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 8 +++++--- OpenSim/Region/Environment/Scenes/Tests/SceneTests.cs | 6 ++---- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes') diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 8f88d8e..d2bd698 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -184,10 +184,12 @@ namespace OpenSim.Region.Environment.Scenes set { m_parts = value; } } + /// + /// The root part of this scene object + /// public SceneObjectPart RootPart { get { return m_rootPart; } - set { m_rootPart = value; } } public ulong RegionHandle @@ -877,7 +879,7 @@ namespace OpenSim.Region.Environment.Scenes /// Set a part to act as the root part for this scene object /// /// - private void SetRootPart(SceneObjectPart part) + public void SetRootPart(SceneObjectPart part) { part.SetParent(this); part.ParentID = 0; @@ -1886,7 +1888,7 @@ namespace OpenSim.Region.Environment.Scenes m_scene.UnlinkSceneObject(objectGroup.UUID, true); objectGroup.Children.Clear(); - objectGroup.RootPart = null; + objectGroup.m_rootPart = null; // TODO Deleting the original group object may cause problems later on if they have already // made it into the update queue. However, sending out updates for those parts is now diff --git a/OpenSim/Region/Environment/Scenes/Tests/SceneTests.cs b/OpenSim/Region/Environment/Scenes/Tests/SceneTests.cs index 4a038e2..de37eb4 100644 --- a/OpenSim/Region/Environment/Scenes/Tests/SceneTests.cs +++ b/OpenSim/Region/Environment/Scenes/Tests/SceneTests.cs @@ -78,10 +78,8 @@ namespace OpenSim.Region.Environment.Scenes.Tests SceneObjectPart part = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero); //part.UpdatePrimFlags(false, false, true); - part.ObjectFlags |= (uint)PrimFlags.Phantom; - - sceneObject.RootPart = part; - sceneObject.AddPart(part); + part.ObjectFlags |= (uint)PrimFlags.Phantom; + sceneObject.SetRootPart(part); scene.AddNewSceneObject(sceneObject, false); -- cgit v1.1