aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneGraph.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add coalesced scene objects class and serializer. This is currently only ↵Justin Clark-Casey (justincc)2011-04-131-0/+2
| | | | | | | | | used by the TestRezCoalescedObject() regression test. This structure matches the existing one for SceneObjects and will allow code to be reused by the uuid gatherer, other tests, etc. Test is not yet fully implemented due to a bug in rezzing coalesced objects where they all get the same name as the item. Only one object should get the same name as the item, which appears to be the one selected last when the the objects were coalesced in the first place. This bug will be addressed shortly.
* Fix bug where on duplication, the root part local id was continually used in ↵Justin Clark-Casey (justincc)2011-04-061-1/+1
| | | | populating the local id scene object index instead of each part's local id
* When an object is duplicated, add it to the full/local id SOG indexes as ↵Justin Clark-Casey (justincc)2011-03-261-1/+29
| | | | well as Entities
* Make SceneGraph.ForEachSOG() execute once for each SOG, not once for each ↵Justin Clark-Casey (justincc)2011-03-261-5/+25
| | | | | | | | prim (e.g. a SOG with 3 prims would have the action executed three times). To do this, a new SceneObjectGroupsByFullID index in SceneGraph which just index's prims by their root part UUID, in order to avoid the inefficiency of filtering existing lists. Existing callers to SceneGraph.ForEachSOG() did not fail due to the multiple per SOG action executions - they were probably just much less efficient. Code suggests that no callers expected ForEachSOG() to execute actions on sog multiple times
* refactor: rename SOG collections in SceneGraph to make it clearer that they ↵Justin Clark-Casey (justincc)2011-03-261-30/+30
| | | | are indexing each part's UUID, not just the root part.
* Add an initial confidence-building TestAddObject() for prim counts.Justin Clark-Casey (justincc)2011-03-221-6/+7
|
* Fix bug where avatars in other regions would not always show up on the mini-mapJustin Clark-Casey (justincc)2011-02-241-1/+2
|
* Remove the RestorePresences functions (which don't seem to be doingMic Bowman2011-01-261-2/+2
| | | | | anything) and clean up the code in AddNewClient (so Appearance only gets assigned once, not three times).
* reinstate IAttachmentsModule.UpdateAttachmentPosition() since this is being ↵Justin Clark-Casey (justincc)2010-12-141-7/+2
| | | | | | used by a 3rd party region module and contains non-obvious attachment specific code There are no functional changes. UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
* fix the minimap sitting avatar location bugJustin Clark-Casey (justincc)2010-12-101-1/+1
| | | | a sitting avatar should have it's offset position added to the scene object, not its absolute position
* Change the way attachments are persisted. Editing a worn attachment will nowMelanie2010-11-161-5/+12
| | | | | | | save properly, as will the results of a resizer script working. Attachment positions are no longer saved on each move, but instead are saved once on logout. Attachment script states are saved as part of the attachment now when detaching.
* Prevent nullrefs in scene object deletion. Mantis #5156Melanie2010-10-271-1/+4
|
* I really have to say it again and again: e.Message is NOT enough data forMelanie2010-10-031-2/+1
| | | | | | troubleshooting. It MUST be combined with e.StackTrace, or e.ToString() must be used. Fix one more instance of that cr.p
* Prevent setting arbitrary groups on your objects.Melanie2010-09-271-0/+3
|
* Changed SceneObjectGroup to store parts with the fast and thread-safe ↵John Hurliman2010-09-161-33/+20
| | | | MapAndArray collection
* Remove SceneGraph.DetachObject() which was accidentally left around after ↵Justin Clark-Casey (justincc)2010-09-131-10/+0
| | | | being migrated to AttachmentsModule
* Formatting cleanup.Jeff Ames2010-09-121-3/+3
|
* Second pass at cleaning up thread safety in EntityManager and SceneGraphJohn Hurliman2010-09-101-34/+32
|
* First pass at cleaning up thread safety in EntityManager and SceneGraphJohn Hurliman2010-09-101-136/+127
|
* Make sure unlinked child prims get persistedMelanie2010-09-071-0/+5
|
* Adjust the "Magic numbers" we use because we can't reference the actualMelanie Thielker2010-08-311-1/+1
| | | | script state enum to reflect recent changes.
* Improve liveness by operating on list copies of SOG.Children where appropriateJustin Clark-Casey (justincc)2010-08-281-25/+26
|
* refactor: break out attachment position change code in ↵Justin Clark-Casey (justincc)2010-08-261-24/+13
| | | | | | Scene.UpdatePrimPosition() and move into AttachmentsModule This allows region modules to change attachment positions.
* Remove mono compiler warningsJustin Clark-Casey (justincc)2010-08-261-2/+0
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2010-08-261-26/+38
|\ | | | | | | | | | | | | Resolve merge conflicts Conflicts: OpenSim/Region/Framework/Scenes/SceneGraph.cs
| * Make scene object directories more robust and prevent deleted SOP's fromMelanie Thielker2010-08-251-17/+29
| | | | | | | | sticking around
* | Improve consistency of locking for SOG.m_parts in order to avoid race ↵Justin Clark-Casey (justincc)2010-08-261-45/+66
|/ | | | conditions in linking and unlinking
* Split out actual scene object insertion code from Scene.Inventory.RezObject ↵Justin Clark-Casey (justincc)2010-08-241-0/+36
| | | | | | | | and move into SceneGraph.AddNewSceneObject() The new SceneGraph method is more consumable by region modules that want to extract objects from inventory and add them to the scene in separate stages. This change also reduces the number of redundant client updates scheduled when an object is rezzed directly by a script or region module This code does not touch direct rez by a user
* Add new SceneGraphTests class. Add simple TestDuplicateObject()Justin Clark-Casey (justincc)2010-08-071-1/+1
|
* minor: a few miscellaneous commentsJustin Clark-Casey (justincc)2010-08-071-0/+5
|
* remove unused BasicQuadTreeNodeJustin Clark-Casey (justincc)2010-07-301-5/+0
|
* Remove AgentID and GroupOD from the signature of SOG.Copy(). They were neverMelanie Thielker2010-06-281-1/+1
| | | | used, but made for a very mispleading read of the code in the callers.
* Fix Copy on Ray, Drag Copy and other little things. Removed the wrong andMelanie Thielker2010-06-281-1/+1
| | | | | | | nonworking ownership assignment in SOG, which messed things up before. No longer trust the client to send the ID of the person something is copied as, since it allows to run a script with someone else's permissions. Properly adjust inventory ownership and perms.
* Make drag copy and copy-on-ray handle friends list perms properlyMelanie Thielker2010-06-271-0/+22
|
* stop KeyNotFoundException() being thrown in RemoveScenePresence if the agent ↵Justin Clark-Casey (justincc)2010-06-251-6/+7
| | | | | | isn't present in the presence dictionary the code to do this was there but was being circumvented by newmap[agentID] before the check actually took place
* Refactor SendCoarseLocations for better performance. Instead of computing ↵Dan Lake2010-06-081-0/+37
| | | | list of all locations fresh for every scene presence on every frame, we will instead compute the list once every 50 frames and send to all connected presences at that time. Also, we only add 60 items to the list when there are more than 60 presences in the scene. For 1000 users, this change yields a 99.8% reduction in list processing and a 98% reduction in network bandwidth for coarse locations.
* Reduce number of full updates sent on region crossing for attachments/huds ↵Justin Clark-Casey (justincc)2010-06-081-3/+7
| | | | | | | | | to 1 from 3 This is one step towards reducing hud glitches on region crossing, since the viewer fails to display prims if it receives child full updates before the root prim full update This commit also introduces a mechanism in LLClientView to stop child attachment updates ever going out before the root one This is a very temporary mechanism and will be commented out when the next step of the fix (to give root prims higher udpate priority) is committed This code is a foreport from the equivalent changes in 0.6.9-post-fixes
* Fix create selection getting overwritten by multiple updates for the same prim.Melanie Thielker2010-05-311-1/+1
|
* rearrange SceneGraph.AddSceneObject() to return earlier if an object with ↵Justin Clark-Casey (justincc)2010-05-211-53/+49
| | | | | | that uuid is already in the scene this means that we don't perform pointless work
* Fix a problem where SceneGraph.AddSceneObject() would return false on ↵Justin Clark-Casey (justincc)2010-05-211-7/+14
| | | | | | successfully adding an object rather than true, in defiance of its method documentation This meant that the returns were inconsistent - false would be returned both for various scene object failure conditions (e.g. root part was null) and if the object was successfully added.
* Refactor scene presence list for lockless iteration. Lock contention will ↵Dan Lake2010-05-151-61/+53
| | | | now only be for simultaneous add/removes of scene presences from the scene.
* Fix link security issueMelanie2010-04-301-32/+9
|
* All scripts are now created suspended and are only unsuspended when the objectMelanie2010-04-191-0/+1
| | | | | | is fully rezzed and all scripts in it are instantiated. This ensures that link messages will not be lost on rez/region crossing and makes heavily scripted objects reliable.
* refactor: crudely move DetachSingleAttachmentToGround() over to the ↵Justin Clark-Casey (justincc)2010-04-161-3/+1
| | | | AttachmentsModule
* Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, ↵Dan Lake2010-03-191-1/+1
| | | | Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files.
* Cleaned up access to scenepresences in scenegraph. GetScenePresences and ↵Dan Lake2010-03-191-107/+79
| | | | GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>).
* Inconsistent locking of ScenePresence array in SceneGraph. Fixed by ↵Dan Lake2010-03-171-63/+130
| | | | | | eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class. This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
* refactor: move RezSingleAttachmentFromInventory() from SceneGraph to ↵Justin Clark-Casey (justincc)2010-03-121-53/+0
| | | | AttachmentsModule
* refactor: move client invoked AttachObject from SceneGraph to AttachmentsModuleJustin Clark-Casey (justincc)2010-03-121-35/+0
|
* refactor: Move DetachSingleAttachmentToInv to region moduleJustin Clark-Casey (justincc)2010-03-061-34/+1
| | | | need to rationalize method names later