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.
0.7.4.1
Justin Clark-Casey (justincc) 2012-03-31 01:45:37 +01:00
parent 387d7fdad5
commit f0406f9fe2
4 changed files with 28 additions and 39 deletions

View File

@ -244,10 +244,10 @@ namespace OpenSim.Data.Tests
SceneObjectPart[] newparts = newsog.Parts; SceneObjectPart[] newparts = newsog.Parts;
Assert.That(newparts.Length,Is.EqualTo(4), "Assert.That(newparts.Length,Is.EqualTo(4))"); 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.ContainsPart(tmp0), "Assert.That(newsog.ContainsPart(tmp0))");
Assert.That(newsog.HasChildPrim(tmp1), "Assert.That(newsog.HasChildPrim(tmp1))"); Assert.That(newsog.ContainsPart(tmp1), "Assert.That(newsog.ContainsPart(tmp1))");
Assert.That(newsog.HasChildPrim(tmp2), "Assert.That(newsog.HasChildPrim(tmp2))"); Assert.That(newsog.ContainsPart(tmp2), "Assert.That(newsog.ContainsPart(tmp2))");
Assert.That(newsog.HasChildPrim(tmp3), "Assert.That(newsog.HasChildPrim(tmp3))"); Assert.That(newsog.ContainsPart(tmp3), "Assert.That(newsog.ContainsPart(tmp3))");
} }
[Test] [Test]

View File

@ -860,7 +860,7 @@ namespace OpenSim.Region.Framework.Scenes
if (sog != null) if (sog != null)
{ {
if (sog.HasChildPrim(localID)) if (sog.ContainsPart(localID))
{ {
// m_log.DebugFormat( // m_log.DebugFormat(
// "[SCENE GRAPH]: Found scene object {0} {1} {2} containing part with local id {3} in {4}. Returning.", // "[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) if (ent is SceneObjectGroup)
{ {
sog = (SceneObjectGroup)ent; sog = (SceneObjectGroup)ent;
if (sog.HasChildPrim(localID)) if (sog.ContainsPart(localID))
{ {
lock (SceneObjectGroupsByLocalPartID) lock (SceneObjectGroupsByLocalPartID)
SceneObjectGroupsByLocalPartID[localID] = sog; SceneObjectGroupsByLocalPartID[localID] = sog;
@ -926,7 +926,7 @@ namespace OpenSim.Region.Framework.Scenes
if (ent is SceneObjectGroup) if (ent is SceneObjectGroup)
{ {
sog = (SceneObjectGroup)ent; sog = (SceneObjectGroup)ent;
if (sog.HasChildPrim(fullID)) if (sog.ContainsPart(fullID))
{ {
lock (SceneObjectGroupsByFullPartID) lock (SceneObjectGroupsByFullPartID)
SceneObjectGroupsByFullPartID[fullID] = sog; SceneObjectGroupsByFullPartID[fullID] = sog;

View File

@ -338,6 +338,24 @@ namespace OpenSim.Region.Framework.Scenes
return m_parts.ContainsKey(partID); return m_parts.ContainsKey(partID);
} }
/// <summary>
/// Does this group contain the given part?
/// should be able to remove these methods once we have a entity index in scene
/// </summary>
/// <param name="localID"></param>
/// <returns></returns>
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;
}
/// <value> /// <value>
/// The root part of this scene object /// The root part of this scene object
/// </value> /// </value>
@ -1911,35 +1929,6 @@ namespace OpenSim.Region.Framework.Scenes
return null; return null;
} }
/// <summary>
/// Does this group contain the child prim
/// should be able to remove these methods once we have a entity index in scene
/// </summary>
/// <param name="primID"></param>
/// <returns></returns>
public bool HasChildPrim(UUID primID)
{
return m_parts.ContainsKey(primID);
}
/// <summary>
/// Does this group contain the child prim
/// should be able to remove these methods once we have a entity index in scene
/// </summary>
/// <param name="localID"></param>
/// <returns></returns>
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 #endregion
#region Packet Handlers #region Packet Handlers

View File

@ -3763,7 +3763,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// parse for sitting avatare-uuids // parse for sitting avatare-uuids
World.ForEachRootScenePresence(delegate(ScenePresence presence) 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); keytable.Add(presence.UUID);
}); });
@ -3826,7 +3826,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
World.ForEachRootScenePresence(delegate(ScenePresence presence) World.ForEachRootScenePresence(delegate(ScenePresence presence)
{ {
SceneObjectPart sitPart = presence.ParentPart; 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); nametable.Add(presence.ControllingClient.Name);
}); });
@ -7684,7 +7684,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
int avatarCount = 0; int avatarCount = 0;
World.ForEachRootScenePresence(delegate(ScenePresence presence) 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++; avatarCount++;
}); });