aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug where linking a non-physical prim with a physical prim as root ↵Justin Clark-Casey (justincc)2012-04-211-0/+3
| | | | | | | | would make the non-physical prim phantom rather than part of the physics object. On region restart, the whole object would become physical as expected. Observed behaviour from elsewhere is that all prims in a new linkset should take on the status of the root prim. Add regression test for this behaviour.
* minor: Add some method doc. Add warnings since calling SOG link/delink ↵Justin Clark-Casey (justincc)2012-04-171-0/+19
| | | | methods directly rather than through Scene may allow race conditions.
* Mantis 55025 Implement script time.Talun2012-04-121-0/+39
| | | | Signed-off-by: nebadon <michael@osgrid.org>
* Mantis5502 implementation of some of the new constantsTalun2012-04-091-1/+27
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* Rather than having a FromFolderID property on every single prim and only ↵Justin Clark-Casey (justincc)2012-04-071-4/+15
| | | | | | ever using the root prim one, store on SOG instead. This reduces pointless memory usage.
* Store FromItemID for attachments once on SOG instead of on every SOP and ↵Justin Clark-Casey (justincc)2012-04-071-16/+12
| | | | | | only ever using the root part entry. This eliminates some pointless memory use.
* Eliminate race condition where many callers would check SOP.PhysicsActor != ↵Justin Clark-Casey (justincc)2012-04-031-54/+86
| | | | | | | | null then assume it was still not null in later code. Another thread could come and turn off physics for a part (null PhysicsActor) at any point. Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs No obvious reason for doing that copy - nothing else does it.
* refactor: Rename SOG.GetChildPart() to GetPart() since it can also return ↵Justin Clark-Casey (justincc)2012-03-311-20/+20
| | | | the 'root' part.
* Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ↵Justin Clark-Casey (justincc)2012-03-311-29/+18
| | | | | | ContainsPart method and remove method duplication. HasChildPrim is also misleading since the 'root' prim can also be returned.
* Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-161-8/+1
| | | | | | | | | | | measurement period and an idealised frame time. The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute. Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100. The actual measurement value should be script execution time per frame but XEngine does not work this way. Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time. This is still not ideal but gives reasonable results and allows scripts to be compared. This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
* Fix: Object owned by the group does not return to the last owner ↵PixelTomsen2012-02-161-1/+1
| | | | http://opensimulator.org/mantis/view.php?id=5404
* Stop a scene object from attempting to link with itself (which results in an ↵Justin Clark-Casey (justincc)2012-02-081-0/+4
| | | | | | exception and constant complaints in v3 viewers). Aims to address http://opensimulator.org/mantis/view.php?id=5878
* Add start GC memory and end GC memory to object stress test printouts.Justin Clark-Casey (justincc)2012-02-071-1/+2
| | | | | This illustrates that references to Scene, SOG, etc. are not currently being released when a stress test ends (or at regression test end in general). This means even the current stress tests take much more memory than they need, a problem that will have to be addressed.
* Make configuration uniformBlueWall2012-02-051-3/+3
| | | | Pickup the max physical prim size in Scene to make it uniform since adding code to get default size from the OpenSim*.ini.
* Implement "show object uuid <uuid>" console command.Justin Clark-Casey (justincc)2012-01-311-0/+6
| | | | This will show details about a part with the given uuid if it's found.
* Add experimental --publish option to "save oar" so that OARs reloaded to the ↵Justin Clark-Casey (justincc)2012-01-281-0/+6
| | | | same grid don't have the publisher as owner.
* Cleaned up the LookAt code in SOP and SOG. Added support for incrementallyMic Bowman2012-01-131-6/+0
| | | | | rotating physical objects. This does not use physics. Currently the rate of change is determined as 1 / (PI * Strength).
* fix the UsesPhysics flag to reference the physics flag rather than the ↵Mic Bowman2011-12-221-1/+1
| | | | temponrez flag
* Remove unused m_physicalPrim parameter from SOG.ApplyPhysics()Justin Clark-Casey (justincc)2011-12-221-3/+2
|
* Fix bug where objects could not be set to a new group if the group had been ↵Justin Clark-Casey (justincc)2011-12-171-0/+2
| | | | | | | | | | created in that client session, or if no other action has been performed on the object. There were two problems here: 1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service. This fails to groups created newly in that session 2) On object group update, we weren't setting the HasGroupChanged flag. This meant that the change was not persisted unless some other action set this flag. This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588 This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
* refactor: simplify methods in Scene.PacketHandlers.cs by using ↵Justin Clark-Casey (justincc)2011-12-171-4/+10
| | | | GetGroupByPrim() rather than retrieving GetEntities() and inspecting the entire list
* Stop generating client flags when we send out full object updates.Justin Clark-Casey (justincc)2011-12-161-3/+2
| | | | These were entirely unused.
* Just adding a comment to SendFullUpdatToClientDan Lake2011-12-131-0/+2
|
* Remove SceneViewer from ScenePresence to reduce quadruple queueing ofDan Lake2011-11-111-24/+0
| | | | | | | | | | | | prim update to only triple queuing. Existing method was: 1. Schedule prim for update, adding to scene update list 2. Update on SOGs during heartbeat queues update onto each SceneViewer 3. Update on SPs during heartbeat queues update onto each IClientAPI 4. ProcessEntityUpdates queues updates into UDP send stack Now the SceneViewer has been eliminated so updates are scheduled at any time and then put onto the IClientAPI priority queues immediately during SceneGraph.UpdateObjectGroups.
* Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant ↵Dan Lake2011-11-101-1/+6
| | | | properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes.
* Merge branch 'master' of git://opensimulator.org/git/opensimDan Lake2011-11-101-1/+1
|\
| * minor: Correct misleading method doc on SOG.UpdateRootRotation()Justin Clark-Casey (justincc)2011-11-091-1/+1
| |
* | When updating SOG, a physics taint should not override a full update with a ↵Dan Lake2011-11-101-10/+15
|/ | | | terse update
* Convert SendKillObject to take a list of uint rather than sending oneMelanie2011-11-061-1/+1
| | | | packet per prim. More to come as we change to make use of this.
* Don't rotate child prims, if only the root prim is rotated.nebadon2011-11-051-2/+2
|
* Replacing te linking code with the code from Avination. Link sets prims are nowMelanie2011-11-051-35/+11
| | | | numbered properly even when sets are linked to sets.
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-031-1/+1
| | | | | | from previous commit which sort out which iterator is used are left intact. A discussion is needed as to what constitutes an avatar vs a ScenePresence.
* Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake2011-11-031-1/+1
| | | | | | | | | | | | | | the 3 iteration functions so more of them are using the correct iteration for the action they are performing. The 3 iterators that seem to fit all actions within OpenSim at this time are: ForEachAvatar: Perform an action on all avatars (root presences) ForEachClient: Perform an action on all clients (root or child clients) ForEachRootClient: Perform an action on all clients that have an avatar There are still a dozen places or so calling the old ForEachScenePresence that will take a little more refactoring to eliminate.
* Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake2011-11-021-3/+3
| | | | | | | | | | | | | | | | | UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on SOP consistently now. Also started working toward eliminating those calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule from outside SOP in favor of just setting properties on SOP and let SOP decide if an update should be scheduled. This consolidates the update policy within SOP and the client rather than everywhere that makes changes to SOP. Some places forget to call update while others call it multiple times, "just to be sure". UpdateFlag and Schedule*Update will both be made private shortly. UpdateFlag is intended to be transient and internal to SOP so it has been removed from XML serializer for SOPs.
* Remove completely unused SOG.Rotation parameterJustin Clark-Casey (justincc)2011-10-291-8/+0
| | | | We always use SOP.Rotation instead
* set grp.RootPart.GroupPosition for code consistency (and readability) rather ↵Justin Clark-Casey (justincc)2011-10-281-5/+0
| | | | than calling SOP.OffsetForNewRegion
* Add missing doc to rotation/position methods in SOGJustin Clark-Casey (justincc)2011-10-281-5/+5
|
* remove now redundant m_physical_prim flag from SOP.ApplyPhysics()Justin Clark-Casey (justincc)2011-10-151-2/+2
|
* Remove unimplementated UpdateMovement() methods from SOG, SOP.Justin Clark-Casey (justincc)2011-10-011-7/+0
| | | | | SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase. No point making the code more complex until it actually needs to be,
* Fix for rezzing and derezzing HUDs (see Mantis #5406). From now on updates ↵Snoopy Pfeffer2011-09-251-1/+5
| | | | are only sent to affected clients.
* Reinstate option to land an npc when it reaches a target.Justin Clark-Casey (justincc)2011-09-221-1/+1
| | | | This is moved into ScenePresence for now as a general facility
* refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to ↵Justin Clark-Casey (justincc)2011-09-151-12/+8
| | | | | | reflect what it actually does This also makes it consistent with some other methods that send data to the client.
* Go back to resetting the State parameter for all parts of a SOG when ↵Justin Clark-Casey (justincc)2011-09-021-0/+6
| | | | | | | SOG.ClearPartAttachmentData() is called. Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664
* Eliminate pointless checks of SOG.RootPart != nullJustin Clark-Casey (justincc)2011-09-011-124/+70
| | | | It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
* add Name property to ISceneEntityJustin Clark-Casey (justincc)2011-08-301-2/+5
|
* Eliminate duplicate AttachmentPoint properties by always using the one ↵Justin Clark-Casey (justincc)2011-08-271-18/+18
| | | | stored in the root part's state field.
* refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid ↵Justin Clark-Casey (justincc)2011-08-271-25/+19
| | | | pointless duplication of identical values
* refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatarJustin Clark-Casey (justincc)2011-08-261-2/+10
| | | | This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
* refactor: move SOG.DetachToGround() to ↵Justin Clark-Casey (justincc)2011-08-261-40/+6
| | | | AttachmentsModule.DetachSceneObjectToGround() and remove redundant code
* refactor: move sog.DetachToInventoryPrep() into ↵Justin Clark-Casey (justincc)2011-08-261-28/+4
| | | | AttachmentsModule.DetachSingleAttachmentToInv()