From cec112c87a0e9b259ddff215422bde3fc5dd4dc2 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 12 Nov 2008 20:16:46 +0000 Subject: [PATCH] * refactor: as per a recent opensim-dev thread, rename InnerScene to SceneGraph to make it more descriptive of its intended function --- .../ContentManagementSystem/CMModel.cs | 2 +- .../ArchiveWriteRequestPreparation.cs | 2 +- .../World/Estate/EstateManagementModule.cs | 2 +- .../Environment/Scenes/Scene.Inventory.cs | 7 +- OpenSim/Region/Environment/Scenes/Scene.cs | 194 +++++++++--------- .../Scenes/{InnerScene.cs => SceneGraph.cs} | 9 +- .../Environment/Scenes/SceneObjectGroup.cs | 6 +- .../Environment/Scenes/ScenePresence.cs | 2 +- .../Region/Physics/Manager/PhysicsScene.cs | 2 +- 9 files changed, 119 insertions(+), 107 deletions(-) rename OpenSim/Region/Environment/Scenes/{InnerScene.cs => SceneGraph.cs} (99%) diff --git a/OpenSim/Region/Environment/Modules/ContentManagementSystem/CMModel.cs b/OpenSim/Region/Environment/Modules/ContentManagementSystem/CMModel.cs index e58d945ee5..522948966d 100644 --- a/OpenSim/Region/Environment/Modules/ContentManagementSystem/CMModel.cs +++ b/OpenSim/Region/Environment/Modules/ContentManagementSystem/CMModel.cs @@ -261,7 +261,7 @@ namespace OpenSim.Region.Environment.Modules.ContentManagement ((SceneObjectGroup)scene.Entities[uuid]).DetachFromBackup(); scene.PhysicsScene.RemovePrim(((SceneObjectGroup)scene.Entities[uuid]).RootPart.PhysActor); scene.SendKillObject(scene.Entities[uuid].LocalId); - scene.m_innerScene.DeleteSceneObject(uuid, false); + scene.m_sceneGraph.DeleteSceneObject(uuid, false); ((SceneObjectGroup)scene.Entities[uuid]).DeleteGroup(false); } catch(Exception e) diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs index 0202841018..bb3a18d82a 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs @@ -260,7 +260,7 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver List sceneObjects = new List(); // Filter entities so that we only have scene objects. - // FIXME: Would be nicer to have this as a proper list in InnerScene, since lots of methods + // FIXME: Would be nicer to have this as a proper list in SceneGraph, since lots of methods // end up having to do this foreach (EntityBase entity in entities) { diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index c38d5026ea..52175f46cb 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs @@ -490,7 +490,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate } else if (reportType == 0) { - SceneData = m_scene.m_innerScene.GetTopScripts(); + SceneData = m_scene.m_sceneGraph.GetTopScripts(); } List SceneReport = new List(); diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 7e32086fe3..c6ad94c1de 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs @@ -2342,7 +2342,7 @@ namespace OpenSim.Region.Environment.Scenes public UUID RezSingleAttachment(IClientAPI remoteClient, UUID itemID, uint AttachmentPt) { - SceneObjectGroup att = m_innerScene.RezSingleAttachment(remoteClient, itemID, AttachmentPt); + SceneObjectGroup att = m_sceneGraph.RezSingleAttachment(remoteClient, itemID, AttachmentPt); if (att == null) { @@ -2375,7 +2375,7 @@ namespace OpenSim.Region.Environment.Scenes public void AttachObject(IClientAPI controllingClient, uint localID, uint attachPoint, Quaternion rot, Vector3 pos, bool silent) { - m_innerScene.AttachObject(controllingClient, localID, attachPoint, rot, pos, silent); + m_sceneGraph.AttachObject(controllingClient, localID, attachPoint, rot, pos, silent); } public void AttachObject(IClientAPI remoteClient, uint AttachmentPt, UUID itemID, SceneObjectGroup att) @@ -2455,7 +2455,8 @@ namespace OpenSim.Region.Environment.Scenes } } - m_innerScene.DetachSingleAttachmentToInv(itemID, remoteClient); + + m_sceneGraph.DetachSingleAttachmentToInv(itemID, remoteClient); } public void GetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 0d0823e634..e5d0c3fb7d 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -71,7 +71,11 @@ namespace OpenSim.Region.Environment.Scenes protected List m_regionRestartNotifyList = new List(); protected List m_neighbours = new List(); - public InnerScene m_innerScene; + /// + /// The scene graph for this scene + /// + /// TODO: Possibly stop other classes being able to manipulate this directly. + public SceneGraph m_sceneGraph; private int m_timePhase = 24; @@ -179,14 +183,14 @@ namespace OpenSim.Region.Environment.Scenes // an instance to the physics plugin's Scene object. public PhysicsScene PhysicsScene { - set { m_innerScene.PhysicsScene = value; } - get { return (m_innerScene.PhysicsScene); } + set { m_sceneGraph.PhysicsScene = value; } + get { return (m_sceneGraph.PhysicsScene); } } // This gets locked so things stay thread safe. public object SyncRoot { - get { return m_innerScene.m_syncRoot; } + get { return m_sceneGraph.m_syncRoot; } } public float TimeDilation @@ -212,23 +216,23 @@ namespace OpenSim.Region.Environment.Scenes get { return m_defaultScriptEngine; } } - // Local reference to the objects in the scene (which are held in innerScene) + // Local reference to the objects in the scene (which are held in the scenegraph) // public Dictionary Objects // { - // get { return m_innerScene.SceneObjects; } + // get { return m_sceneGraph.SceneObjects; } // } // Reference to all of the agents in the scene (root and child) protected Dictionary m_scenePresences { - get { return m_innerScene.ScenePresences; } - set { m_innerScene.ScenePresences = value; } + get { return m_sceneGraph.ScenePresences; } + set { m_sceneGraph.ScenePresences = value; } } // protected Dictionary m_sceneObjects // { - // get { return m_innerScene.SceneObjects; } - // set { m_innerScene.SceneObjects = value; } + // get { return m_sceneGraph.SceneObjects; } + // set { m_sceneGraph.SceneObjects = value; } // } /// @@ -241,14 +245,14 @@ namespace OpenSim.Region.Environment.Scenes /// public Dictionary Entities { - get { return m_innerScene.Entities; } - set { m_innerScene.Entities = value; } + get { return m_sceneGraph.Entities; } + set { m_sceneGraph.Entities = value; } } public Dictionary m_restorePresences { - get { return m_innerScene.RestorePresences; } - set { m_innerScene.RestorePresences = value; } + get { return m_sceneGraph.RestorePresences; } + set { m_sceneGraph.RestorePresences = value; } } public int objectCapacity = 45000; @@ -296,15 +300,15 @@ namespace OpenSim.Region.Environment.Scenes EventManager.OnLandObjectRemoved += new EventManager.LandObjectRemoved(m_storageManager.DataStore.RemoveLandObject); - m_innerScene = new InnerScene(this, m_regInfo); + m_sceneGraph = new SceneGraph(this, m_regInfo); - // If the Inner scene has an Unrecoverable error, restart this sim. + // If the scene graph has an Unrecoverable error, restart this sim. // Currently the only thing that causes it to happen is two kinds of specific // Physics based crashes. // // Out of memory // Operating system has killed the plugin - m_innerScene.UnRecoverableError += RestartNow; + m_sceneGraph.UnRecoverableError += RestartNow; RegisterDefaultSceneEvents(); @@ -644,11 +648,13 @@ namespace OpenSim.Region.Environment.Scenes // Stop all client threads. ForEachScenePresence(delegate(ScenePresence avatar) { avatar.ControllingClient.Close(true); }); + // Stop updating the scene objects and agents. //m_heartbeatTimer.Close(); shuttingdown = true; - // close the inner scene - m_innerScene.Close(); + + m_sceneGraph.Close(); + // De-register with region communications (events cleanup) UnRegisterRegionWithComms(); @@ -726,7 +732,7 @@ namespace OpenSim.Region.Environment.Scenes //updateLock.WaitOne(); float physicsFPS = 0; //m_log.Info("sadfadf" + m_neighbours.Count.ToString()); - int agentsInScene = m_innerScene.GetRootAgentCount() + m_innerScene.GetChildAgentCount(); + int agentsInScene = m_sceneGraph.GetRootAgentCount() + m_sceneGraph.GetChildAgentCount(); if (agentsInScene > 21) { @@ -757,15 +763,15 @@ namespace OpenSim.Region.Environment.Scenes physicsMS2 = System.Environment.TickCount; if ((m_frame % m_update_physics == 0) && m_physics_enabled) - m_innerScene.UpdatePreparePhysics(); + m_sceneGraph.UpdatePreparePhysics(); physicsMS2 = System.Environment.TickCount - physicsMS2; if (m_frame % m_update_entitymovement == 0) - m_innerScene.UpdateEntityMovement(); + m_sceneGraph.UpdateEntityMovement(); physicsMS = System.Environment.TickCount; if ((m_frame % m_update_physics == 0) && m_physics_enabled) - physicsFPS = m_innerScene.UpdatePhysics( + physicsFPS = m_sceneGraph.UpdatePhysics( Math.Max(SinceLastFrame.TotalSeconds, m_timespan) ); if (m_frame % m_update_physics == 0 && SynchronizeScene != null) @@ -777,16 +783,16 @@ namespace OpenSim.Region.Environment.Scenes otherMS = System.Environment.TickCount; // run through all entities looking for updates (slow) if (m_frame % m_update_entities == 0) - m_innerScene.UpdateEntities(); + m_sceneGraph.UpdateEntities(); // run through entities that have scheduled themselves for // updates looking for updates(faster) if (m_frame % m_update_entitiesquick == 0) - m_innerScene.ProcessUpdates(); + m_sceneGraph.ProcessUpdates(); // Run through scenepresences looking for updates if (m_frame % m_update_presences == 0) - m_innerScene.UpdatePresences(); + m_sceneGraph.UpdatePresences(); // Delete temp-on-rez stuff if (m_frame % m_update_backup == 0) @@ -814,16 +820,16 @@ namespace OpenSim.Region.Environment.Scenes m_statsReporter.AddTimeDilation(m_timedilation); m_statsReporter.AddFPS(1); m_statsReporter.AddInPackets(0); - m_statsReporter.SetRootAgents(m_innerScene.GetRootAgentCount()); - m_statsReporter.SetChildAgents(m_innerScene.GetChildAgentCount()); - m_statsReporter.SetObjects(m_innerScene.GetTotalObjectsCount()); - m_statsReporter.SetActiveObjects(m_innerScene.GetActiveObjectsCount()); + m_statsReporter.SetRootAgents(m_sceneGraph.GetRootAgentCount()); + m_statsReporter.SetChildAgents(m_sceneGraph.GetChildAgentCount()); + m_statsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount()); + m_statsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount()); frameMS = System.Environment.TickCount - frameMS; m_statsReporter.addFrameMS(frameMS); m_statsReporter.addPhysicsMS(physicsMS); m_statsReporter.addOtherMS(otherMS); - m_statsReporter.SetActiveScripts(m_innerScene.GetActiveScriptsCount()); - m_statsReporter.addScriptLines(m_innerScene.GetScriptLPS()); + m_statsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount()); + m_statsReporter.addScriptLines(m_sceneGraph.GetScriptLPS()); } } catch (NotImplementedException) @@ -1163,7 +1169,7 @@ namespace OpenSim.Region.Environment.Scenes //AXdirection = new Vector3(direction.X, direction.Y, direction.Z); //testRay = new Ray(AXOrigin, AXdirection); - //rt = m_innerScene.GetClosestIntersectingPrim(testRay); + //rt = m_sceneGraph.GetClosestIntersectingPrim(testRay); //if (rt.HitTF) //{ @@ -1642,7 +1648,7 @@ namespace OpenSim.Region.Environment.Scenes // TODO: Raytrace better here - //EntityIntersection ei = m_innerScene.GetClosestIntersectingPrim(new Ray(AXOrigin, AXdirection)); + //EntityIntersection ei = m_sceneGraph.GetClosestIntersectingPrim(new Ray(AXOrigin, AXdirection)); Ray NewRay = new Ray(AXOrigin, AXdirection); // Ray Trace against target here @@ -1676,7 +1682,7 @@ namespace OpenSim.Region.Environment.Scenes { // We don't have a target here, so we're going to raytrace all the objects in the scene. - EntityIntersection ei = m_innerScene.GetClosestIntersectingPrim(new Ray(AXOrigin, AXdirection), true, false); + EntityIntersection ei = m_sceneGraph.GetClosestIntersectingPrim(new Ray(AXOrigin, AXdirection), true, false); // Un-comment the following line to print the raytrace results to the console. //m_log.Info("[RAYTRACERESULTS]: Hit:" + ei.HitTF.ToString() + " Point: " + ei.ipoint.ToString() + " Normal: " + ei.normal.ToString()); @@ -1790,7 +1796,7 @@ namespace OpenSim.Region.Environment.Scenes public bool AddRestoredSceneObject( SceneObjectGroup sceneObject, bool attachToBackup, bool alreadyPersisted) { - return m_innerScene.AddRestoredSceneObject(sceneObject, attachToBackup, alreadyPersisted); + return m_sceneGraph.AddRestoredSceneObject(sceneObject, attachToBackup, alreadyPersisted); } /// @@ -1803,7 +1809,7 @@ namespace OpenSim.Region.Environment.Scenes /// public bool AddNewSceneObject(SceneObjectGroup sceneObject, bool attachToBackup) { - return m_innerScene.AddNewSceneObject(sceneObject, attachToBackup); + return m_sceneGraph.AddNewSceneObject(sceneObject, attachToBackup); } /// @@ -1869,7 +1875,7 @@ namespace OpenSim.Region.Environment.Scenes /// true if the object was in the scene, false if it was not public bool UnlinkSceneObject(UUID uuid, bool resultOfLinkingObjects) { - if (m_innerScene.DeleteSceneObject(uuid, resultOfLinkingObjects)) + if (m_sceneGraph.DeleteSceneObject(uuid, resultOfLinkingObjects)) { if (!resultOfLinkingObjects) m_storageManager.DataStore.RemoveObject(uuid, @@ -2203,7 +2209,7 @@ namespace OpenSim.Region.Environment.Scenes presence.initializeScenePresence(client, RegionInfo, this); - m_innerScene.AddScenePresence(presence); + m_sceneGraph.AddScenePresence(presence); lock (m_restorePresences) { @@ -2228,40 +2234,40 @@ namespace OpenSim.Region.Environment.Scenes { client.OnRegionHandShakeReply += SendLayerData; client.OnAddPrim += AddNewPrim; - client.OnUpdatePrimGroupPosition += m_innerScene.UpdatePrimPosition; - client.OnUpdatePrimSinglePosition += m_innerScene.UpdatePrimSinglePosition; - client.OnUpdatePrimGroupRotation += m_innerScene.UpdatePrimRotation; - client.OnUpdatePrimGroupMouseRotation += m_innerScene.UpdatePrimRotation; - client.OnUpdatePrimSingleRotation += m_innerScene.UpdatePrimSingleRotation; - client.OnUpdatePrimScale += m_innerScene.UpdatePrimScale; - client.OnUpdatePrimGroupScale += m_innerScene.UpdatePrimGroupScale; - client.OnUpdateExtraParams += m_innerScene.UpdateExtraParam; - client.OnUpdatePrimShape += m_innerScene.UpdatePrimShape; + client.OnUpdatePrimGroupPosition += m_sceneGraph.UpdatePrimPosition; + client.OnUpdatePrimSinglePosition += m_sceneGraph.UpdatePrimSinglePosition; + client.OnUpdatePrimGroupRotation += m_sceneGraph.UpdatePrimRotation; + client.OnUpdatePrimGroupMouseRotation += m_sceneGraph.UpdatePrimRotation; + client.OnUpdatePrimSingleRotation += m_sceneGraph.UpdatePrimSingleRotation; + client.OnUpdatePrimScale += m_sceneGraph.UpdatePrimScale; + client.OnUpdatePrimGroupScale += m_sceneGraph.UpdatePrimGroupScale; + client.OnUpdateExtraParams += m_sceneGraph.UpdateExtraParam; + client.OnUpdatePrimShape += m_sceneGraph.UpdatePrimShape; //client.OnRequestMapBlocks += RequestMapBlocks; // handled in a module now. - client.OnUpdatePrimTexture += m_innerScene.UpdatePrimTexture; + client.OnUpdatePrimTexture += m_sceneGraph.UpdatePrimTexture; client.OnTeleportLocationRequest += RequestTeleportLocation; client.OnTeleportLandmarkRequest += RequestTeleportLandmark; client.OnObjectSelect += SelectPrim; client.OnObjectDeselect += DeselectPrim; - client.OnGrabUpdate += m_innerScene.MoveObject; + client.OnGrabUpdate += m_sceneGraph.MoveObject; client.OnDeRezObject += DeRezObject; client.OnRezObject += RezObject; client.OnRezSingleAttachmentFromInv += RezSingleAttachment; client.OnDetachAttachmentIntoInv += DetachSingleAttachmentToInv; - client.OnObjectAttach += m_innerScene.AttachObject; - client.OnObjectDetach += m_innerScene.DetachObject; - client.OnObjectDrop += m_innerScene.DropObject; + client.OnObjectAttach += m_sceneGraph.AttachObject; + client.OnObjectDetach += m_sceneGraph.DetachObject; + client.OnObjectDrop += m_sceneGraph.DropObject; client.OnNameFromUUIDRequest += CommsManager.HandleUUIDNameRequest; - client.OnObjectDescription += m_innerScene.PrimDescription; - client.OnObjectName += m_innerScene.PrimName; - client.OnObjectClickAction += m_innerScene.PrimClickAction; - client.OnObjectMaterial += m_innerScene.PrimMaterial; - client.OnLinkObjects += m_innerScene.LinkObjects; - client.OnDelinkObjects += m_innerScene.DelinkObjects; - client.OnObjectDuplicate += m_innerScene.DuplicateObject; + client.OnObjectDescription += m_sceneGraph.PrimDescription; + client.OnObjectName += m_sceneGraph.PrimName; + client.OnObjectClickAction += m_sceneGraph.PrimClickAction; + client.OnObjectMaterial += m_sceneGraph.PrimMaterial; + client.OnLinkObjects += m_sceneGraph.LinkObjects; + client.OnDelinkObjects += m_sceneGraph.DelinkObjects; + client.OnObjectDuplicate += m_sceneGraph.DuplicateObject; client.OnObjectDuplicateOnRay += doObjectDuplicateOnRay; - client.OnUpdatePrimFlags += m_innerScene.UpdatePrimFlags; - client.OnRequestObjectPropertiesFamily += m_innerScene.RequestObjectPropertiesFamily; + client.OnUpdatePrimFlags += m_sceneGraph.UpdatePrimFlags; + client.OnRequestObjectPropertiesFamily += m_sceneGraph.RequestObjectPropertiesFamily; client.OnRequestGodlikePowers += handleRequestGodlikePowers; client.OnGodKickUser += HandleGodlikeKickUser; client.OnObjectPermissions += HandleObjectPermissionsUpdate; @@ -2287,11 +2293,11 @@ namespace OpenSim.Region.Environment.Scenes client.OnMoneyTransferRequest += ProcessMoneyTransferRequest; client.OnParcelBuy += ProcessParcelBuy; client.OnAvatarPickerRequest += ProcessAvatarPickerRequest; - client.OnObjectIncludeInSearch += m_innerScene.MakeObjectSearchable; + client.OnObjectIncludeInSearch += m_sceneGraph.MakeObjectSearchable; client.OnTeleportHomeRequest += TeleportClientHome; client.OnSetStartLocationRequest += SetHomeRezPoint; - client.OnUndo += m_innerScene.HandleUndo; - client.OnObjectGroupRequest += m_innerScene.HandleObjectGroupUpdate; + client.OnUndo += m_sceneGraph.HandleUndo; + client.OnObjectGroupRequest += m_sceneGraph.HandleObjectGroupUpdate; client.OnParcelReturnObjectsRequest += LandChannel.ReturnObjectsInParcel; client.OnParcelSetOtherCleanTime += LandChannel.SetParcelOtherCleanTime; client.OnObjectSaleInfo += ObjectSaleInfo; @@ -2403,7 +2409,7 @@ namespace OpenSim.Region.Environment.Scenes // TODO: Raytrace better here - //EntityIntersection ei = m_innerScene.GetClosestIntersectingPrim(new Ray(AXOrigin, AXdirection)); + //EntityIntersection ei = m_sceneGraph.GetClosestIntersectingPrim(new Ray(AXOrigin, AXdirection)); Ray NewRay = new Ray(AXOrigin, AXdirection); // Ray Trace against target here @@ -2433,14 +2439,14 @@ namespace OpenSim.Region.Environment.Scenes { Quaternion worldRot = target2.GetWorldRotation(); - // SceneObjectGroup obj = m_innerScene.DuplicateObject(localID, pos, target.GetEffectiveObjectFlags(), AgentID, GroupID, worldRot); - m_innerScene.DuplicateObject(localID, pos, target.GetEffectiveObjectFlags(), AgentID, GroupID, worldRot); + // SceneObjectGroup obj = m_sceneGraph.DuplicateObject(localID, pos, target.GetEffectiveObjectFlags(), AgentID, GroupID, worldRot); + m_sceneGraph.DuplicateObject(localID, pos, target.GetEffectiveObjectFlags(), AgentID, GroupID, worldRot); //obj.Rotation = worldRot; //obj.UpdateGroupRotation(worldRot); } else { - m_innerScene.DuplicateObject(localID, pos, target.GetEffectiveObjectFlags(), AgentID, GroupID); + m_sceneGraph.DuplicateObject(localID, pos, target.GetEffectiveObjectFlags(), AgentID, GroupID); } } @@ -2486,7 +2492,7 @@ namespace OpenSim.Region.Environment.Scenes AvatarAppearance appearance = null; GetAvatarAppearance(client, out appearance); - ScenePresence avatar = m_innerScene.CreateAndAddScenePresence(client, child, appearance); + ScenePresence avatar = m_sceneGraph.CreateAndAddScenePresence(client, child, appearance); return avatar; } @@ -2538,11 +2544,11 @@ namespace OpenSim.Region.Environment.Scenes if (avatar.IsChildAgent) { - m_innerScene.removeUserCount(false); + m_sceneGraph.removeUserCount(false); } else { - m_innerScene.removeUserCount(true); + m_sceneGraph.removeUserCount(true); m_sceneGridService.LogOffUser(agentID, RegionInfo.RegionID, RegionInfo.RegionHandle, avatar.AbsolutePosition, avatar.Lookat); List childknownRegions = new List(); List ckn = avatar.GetKnownRegionList(); @@ -2587,7 +2593,7 @@ namespace OpenSim.Region.Environment.Scenes agentTransactions.RemoveAgentAssetTransactions(agentID); } - m_innerScene.RemoveScenePresence(agentID); + m_sceneGraph.RemoveScenePresence(agentID); try { @@ -2807,7 +2813,7 @@ namespace OpenSim.Region.Environment.Scenes cap.ItemUpdatedCall = CapsUpdateInventoryItemAsset; cap.TaskScriptUpdatedCall = CapsUpdateTaskInventoryScriptAsset; cap.CAPSFetchInventoryDescendents = CommsManager.UserProfileCacheService.HandleFetchInventoryDescendentsCAPS; - cap.GetClient = m_innerScene.GetControllingClient; + cap.GetClient = m_sceneGraph.GetControllingClient; m_capsHandlers[agentId] = cap; } @@ -2917,18 +2923,18 @@ namespace OpenSim.Region.Environment.Scenes /// public bool CloseConnection(UUID agentID) { - ScenePresence presence = m_innerScene.GetScenePresence(agentID); + ScenePresence presence = m_sceneGraph.GetScenePresence(agentID); if (presence != null) { // Nothing is removed here, so down count it as such // if (presence.IsChildAgent) // { - // m_innerScene.removeUserCount(false); + // m_sceneGraph.removeUserCount(false); // } // else // { - // m_innerScene.removeUserCount(true); + // m_sceneGraph.removeUserCount(true); // } // Tell a single agent to disconnect from the region. @@ -3501,7 +3507,7 @@ namespace OpenSim.Region.Environment.Scenes } else { - m_innerScene.removeUserCount(!m_scenePresences[agentID].IsChildAgent); + m_sceneGraph.removeUserCount(!m_scenePresences[agentID].IsChildAgent); m_scenePresences[agentID].ControllingClient.Kick(Utils.BytesToString(reason)); m_scenePresences[agentID].ControllingClient.Close(true); @@ -3872,7 +3878,7 @@ namespace OpenSim.Region.Environment.Scenes #endregion - #region InnerScene wrapper methods + #region SceneGraph wrapper methods /// /// @@ -3881,22 +3887,22 @@ namespace OpenSim.Region.Environment.Scenes /// public UUID ConvertLocalIDToFullID(uint localID) { - return m_innerScene.ConvertLocalIDToFullID(localID); + return m_sceneGraph.ConvertLocalIDToFullID(localID); } public void SwapRootAgentCount(bool rootChildChildRootTF) { - m_innerScene.SwapRootChildAgent(rootChildChildRootTF); + m_sceneGraph.SwapRootChildAgent(rootChildChildRootTF); } public void AddPhysicalPrim(int num) { - m_innerScene.AddPhysicalPrim(num); + m_sceneGraph.AddPhysicalPrim(num); } public void RemovePhysicalPrim(int num) { - m_innerScene.RemovePhysicalPrim(num); + m_sceneGraph.RemovePhysicalPrim(num); } //The idea is to have a group of method that return a list of avatars meeting some requirement @@ -3909,7 +3915,7 @@ namespace OpenSim.Region.Environment.Scenes /// public List GetAvatars() { - return m_innerScene.GetAvatars(); + return m_sceneGraph.GetAvatars(); } /// @@ -3919,7 +3925,7 @@ namespace OpenSim.Region.Environment.Scenes /// public List GetScenePresences() { - return m_innerScene.GetScenePresences(); + return m_sceneGraph.GetScenePresences(); } /// @@ -3930,7 +3936,7 @@ namespace OpenSim.Region.Environment.Scenes /// public List GetScenePresences(FilterAvatarList filter) { - return m_innerScene.GetScenePresences(filter); + return m_sceneGraph.GetScenePresences(filter); } /// @@ -3940,7 +3946,7 @@ namespace OpenSim.Region.Environment.Scenes /// public ScenePresence GetScenePresence(UUID avatarID) { - return m_innerScene.GetScenePresence(avatarID); + return m_sceneGraph.GetScenePresence(avatarID); } /// @@ -4005,7 +4011,7 @@ namespace OpenSim.Region.Environment.Scenes /// public SceneObjectPart GetSceneObjectPart(string name) { - return m_innerScene.GetSceneObjectPart(name); + return m_sceneGraph.GetSceneObjectPart(name); } /// @@ -4015,7 +4021,7 @@ namespace OpenSim.Region.Environment.Scenes /// public SceneObjectPart GetSceneObjectPart(uint localID) { - return m_innerScene.GetSceneObjectPart(localID); + return m_sceneGraph.GetSceneObjectPart(localID); } /// @@ -4025,22 +4031,22 @@ namespace OpenSim.Region.Environment.Scenes /// public SceneObjectPart GetSceneObjectPart(UUID fullID) { - return m_innerScene.GetSceneObjectPart(fullID); + return m_sceneGraph.GetSceneObjectPart(fullID); } internal bool TryGetAvatar(UUID avatarId, out ScenePresence avatar) { - return m_innerScene.TryGetAvatar(avatarId, out avatar); + return m_sceneGraph.TryGetAvatar(avatarId, out avatar); } internal bool TryGetAvatarByName(string avatarName, out ScenePresence avatar) { - return m_innerScene.TryGetAvatarByName(avatarName, out avatar); + return m_sceneGraph.TryGetAvatarByName(avatarName, out avatar); } internal void ForEachClient(Action action) { - m_innerScene.ForEachClient(action); + m_sceneGraph.ForEachClient(action); } /// @@ -4050,7 +4056,7 @@ namespace OpenSim.Region.Environment.Scenes /// public List GetEntities() { - return m_innerScene.GetEntities(); + return m_sceneGraph.GetEntities(); } #endregion diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/SceneGraph.cs similarity index 99% rename from OpenSim/Region/Environment/Scenes/InnerScene.cs rename to OpenSim/Region/Environment/Scenes/SceneGraph.cs index c8f4a726b8..ab0ec1f025 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/SceneGraph.cs @@ -39,7 +39,11 @@ namespace OpenSim.Region.Environment.Scenes { public delegate void PhysicsCrash(); - public class InnerScene + /// + /// This class used to be called InnerScene and may not yet truly be a SceneGraph. The non scene graph components + /// should be migrated out over time. + /// + public class SceneGraph { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); @@ -77,7 +81,7 @@ namespace OpenSim.Region.Environment.Scenes #endregion - protected internal InnerScene(Scene parent, RegionInfo regInfo) + protected internal SceneGraph(Scene parent, RegionInfo regInfo) { m_parentScene = parent; m_regInfo = regInfo; @@ -1698,6 +1702,7 @@ namespace OpenSim.Region.Environment.Scenes } return null; } + /// /// Calculates the distance between two Vector3s /// diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index f5c58385f9..4f0084303b 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -1051,13 +1051,13 @@ namespace OpenSim.Region.Environment.Scenes scriptScore = 0; scriptScore += (float)count; - InnerScene d = m_scene.m_innerScene; + SceneGraph d = m_scene.m_sceneGraph; d.AddToScriptLPS(count); } public void AddActiveScriptCount(int count) { - InnerScene d = m_scene.m_innerScene; + SceneGraph d = m_scene.m_sceneGraph; d.AddActiveScripts(count); } @@ -1672,7 +1672,7 @@ namespace OpenSim.Region.Environment.Scenes public void QueueForUpdateCheck() { - m_scene.m_innerScene.AddToUpdateList(this); + m_scene.m_sceneGraph.AddToUpdateList(this); } /// diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index bfd210e5d8..af17fac17e 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -2483,7 +2483,7 @@ namespace OpenSim.Region.Environment.Scenes foreach (SceneObjectGroup grp in m_attachments) { // ControllingClient may be null at this point! - m_scene.m_innerScene.DetachSingleAttachmentToInv(grp.GetFromAssetID(), ControllingClient); + m_scene.m_sceneGraph.DetachSingleAttachmentToInv(grp.GetFromAssetID(), ControllingClient); } } catch (InvalidOperationException) diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 3575a51be3..f104632075 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs @@ -40,7 +40,7 @@ namespace OpenSim.Region.Physics.Manager { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - // The only thing that should register for this event is the InnerScene + // The only thing that should register for this event is the SceneGraph // Anything else could cause problems. public event physicsCrash OnPhysicsCrash;