From f0406f9fe2f7a1d4d135934280735a3fdc41935f Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Sat, 31 Mar 2012 01:45:37 +0100
Subject: Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match
existing ContainsPart method and remove method duplication.
HasChildPrim is also misleading since the 'root' prim can also be returned.
---
OpenSim/Data/Tests/RegionTests.cs | 8 ++--
OpenSim/Region/Framework/Scenes/SceneGraph.cs | 6 +--
.../Region/Framework/Scenes/SceneObjectGroup.cs | 47 +++++++++-------------
.../Shared/Api/Implementation/LSL_Api.cs | 6 +--
4 files changed, 28 insertions(+), 39 deletions(-)
diff --git a/OpenSim/Data/Tests/RegionTests.cs b/OpenSim/Data/Tests/RegionTests.cs
index 1d806fc..1f03ec5 100644
--- a/OpenSim/Data/Tests/RegionTests.cs
+++ b/OpenSim/Data/Tests/RegionTests.cs
@@ -244,10 +244,10 @@ namespace OpenSim.Data.Tests
SceneObjectPart[] newparts = newsog.Parts;
Assert.That(newparts.Length,Is.EqualTo(4), "Assert.That(newparts.Length,Is.EqualTo(4))");
- Assert.That(newsog.HasChildPrim(tmp0), "Assert.That(newsog.HasChildPrim(tmp0))");
- Assert.That(newsog.HasChildPrim(tmp1), "Assert.That(newsog.HasChildPrim(tmp1))");
- Assert.That(newsog.HasChildPrim(tmp2), "Assert.That(newsog.HasChildPrim(tmp2))");
- Assert.That(newsog.HasChildPrim(tmp3), "Assert.That(newsog.HasChildPrim(tmp3))");
+ Assert.That(newsog.ContainsPart(tmp0), "Assert.That(newsog.ContainsPart(tmp0))");
+ Assert.That(newsog.ContainsPart(tmp1), "Assert.That(newsog.ContainsPart(tmp1))");
+ Assert.That(newsog.ContainsPart(tmp2), "Assert.That(newsog.ContainsPart(tmp2))");
+ Assert.That(newsog.ContainsPart(tmp3), "Assert.That(newsog.ContainsPart(tmp3))");
}
[Test]
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 5c542d6..cd1366c 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -860,7 +860,7 @@ namespace OpenSim.Region.Framework.Scenes
if (sog != null)
{
- if (sog.HasChildPrim(localID))
+ if (sog.ContainsPart(localID))
{
// m_log.DebugFormat(
// "[SCENE GRAPH]: Found scene object {0} {1} {2} containing part with local id {3} in {4}. Returning.",
@@ -888,7 +888,7 @@ namespace OpenSim.Region.Framework.Scenes
if (ent is SceneObjectGroup)
{
sog = (SceneObjectGroup)ent;
- if (sog.HasChildPrim(localID))
+ if (sog.ContainsPart(localID))
{
lock (SceneObjectGroupsByLocalPartID)
SceneObjectGroupsByLocalPartID[localID] = sog;
@@ -926,7 +926,7 @@ namespace OpenSim.Region.Framework.Scenes
if (ent is SceneObjectGroup)
{
sog = (SceneObjectGroup)ent;
- if (sog.HasChildPrim(fullID))
+ if (sog.ContainsPart(fullID))
{
lock (SceneObjectGroupsByFullPartID)
SceneObjectGroupsByFullPartID[fullID] = sog;
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index afb5ccf..9d16beb 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -338,6 +338,24 @@ namespace OpenSim.Region.Framework.Scenes
return m_parts.ContainsKey(partID);
}
+ ///
+ /// Does this group contain the given part?
+ /// should be able to remove these methods once we have a entity index in scene
+ ///
+ ///
+ ///
+ public bool ContainsPart(uint localID)
+ {
+ SceneObjectPart[] parts = m_parts.GetArray();
+ for (int i = 0; i < parts.Length; i++)
+ {
+ if (parts[i].LocalId == localID)
+ return true;
+ }
+
+ return false;
+ }
+
///
/// The root part of this scene object
///
@@ -1911,35 +1929,6 @@ namespace OpenSim.Region.Framework.Scenes
return null;
}
- ///
- /// Does this group contain the child prim
- /// should be able to remove these methods once we have a entity index in scene
- ///
- ///
- ///
- public bool HasChildPrim(UUID primID)
- {
- return m_parts.ContainsKey(primID);
- }
-
- ///
- /// Does this group contain the child prim
- /// should be able to remove these methods once we have a entity index in scene
- ///
- ///
- ///
- public bool HasChildPrim(uint localID)
- {
- SceneObjectPart[] parts = m_parts.GetArray();
- for (int i = 0; i < parts.Length; i++)
- {
- if (parts[i].LocalId == localID)
- return true;
- }
-
- return false;
- }
-
#endregion
#region Packet Handlers
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 7455929..b502ab8 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3763,7 +3763,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// parse for sitting avatare-uuids
World.ForEachRootScenePresence(delegate(ScenePresence presence)
{
- if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID))
+ if (presence.ParentID != 0 && m_host.ParentGroup.ContainsPart(presence.ParentID))
keytable.Add(presence.UUID);
});
@@ -3826,7 +3826,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
World.ForEachRootScenePresence(delegate(ScenePresence presence)
{
SceneObjectPart sitPart = presence.ParentPart;
- if (sitPart != null && m_host.ParentGroup.HasChildPrim(sitPart.LocalId))
+ if (sitPart != null && m_host.ParentGroup.ContainsPart(sitPart.LocalId))
nametable.Add(presence.ControllingClient.Name);
});
@@ -7684,7 +7684,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
int avatarCount = 0;
World.ForEachRootScenePresence(delegate(ScenePresence presence)
{
- if (presence.ParentID != 0 && m_host.ParentGroup.HasChildPrim(presence.ParentID))
+ if (presence.ParentID != 0 && m_host.ParentGroup.ContainsPart(presence.ParentID))
avatarCount++;
});
--
cgit v1.1