aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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()
* refactor: simplify EntityBase.IsDeleted propertyJustin Clark-Casey (justincc)2011-08-241-3/+3
|
* add SOG helper properties IsPhantom, IsTemporary, etc. to improve code ↵Justin Clark-Casey (justincc)2011-08-241-20/+46
| | | | | | readability use these in some sog methods
* early code to allow scripts to force npcs not to fly when moving to targetJustin Clark-Casey (justincc)2011-08-101-1/+1
| | | | | this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path. currently implemented in osNpcMoveToTarget(), but none of this is final.
* Add regression test for setting phantom status on a scene object. This is ↵Justin Clark-Casey (justincc)2011-08-051-9/+13
| | | | not yet complete.
* refactor: rename the move to position methods to move to target to be ↵Justin Clark-Casey (justincc)2011-08-031-1/+1
| | | | consistent with terminology used by scene object part and elsewhere
* get rid of vestigal move to parametersJustin Clark-Casey (justincc)2011-08-031-1/+1
|
* Partially fix autopilot/go hereJustin Clark-Casey (justincc)2011-08-021-10/+1
| | | | | | | This now works again except that it requires a click or avatar mvmt to get going This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over. Even clicking is enough to trigger. This will be improved presently.
* Fix undo when changing just the root prim's position in a linkset.Justin Clark-Casey (justincc)2011-07-191-4/+6
| | | | | | I think (ha ha) this largely fixes undo, except for the fact that rotation a set of prims with 'edit linked parts' selected doesn't quite work properly (though this works fine if the checkbox isn't selected). Also, the double undo bug for resize is still present. Redo might be incredibly buggy, haven't even looked at that yet.
* refactor: rename UpdatePrimPosition() to UpdatePrimGroupPosition() for ↵Justin Clark-Casey (justincc)2011-07-191-2/+2
| | | | consistency
* comment out all kinds of debugging guffJustin Clark-Casey (justincc)2011-07-191-15/+15
|
* Fix undo for rotation of the root prim in a linkset on its own.Justin Clark-Casey (justincc)2011-07-191-6/+11
| | | | The only obviously broken things right now are the undo of the position of just a root prim (stays in place) and the fact that resizes need two undoes.
* Fix undo of rotation of single prims in a linksetJustin Clark-Casey (justincc)2011-07-191-3/+5
|
* Fix undo of prim group rotation.Justin Clark-Casey (justincc)2011-07-191-6/+13
| | | | | This isn't that great since I think I broke it a few commits earlier. Undo of rotation of individual prims in a linkset is still broken
* fix undo when resizing of non-root individual prims in a linksetJustin Clark-Casey (justincc)2011-07-191-3/+5
| | | | undo resize, rotation and position still needs fixing when only editing root prim of a linkset
* Fix undo for resizing linksetsJustin Clark-Casey (justincc)2011-07-191-8/+15
| | | | | | This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim Resizing individual components of linksets is still dodgy. Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first. This applies to single prims and linksets. Need to look into this.
* Make various tweaks to undo code in an effort to get things working better.Justin Clark-Casey (justincc)2011-07-181-13/+45
| | | | | | | Undo rotation and position appear to be working. Resizing a single prim appears to be working, though the undo has to be done twice. Resizing a group of prims still does not work properly - possibly because in the UndoState we don't store a knowledge of when we're resizing a whole group rather than individual prims. This needs to be addressed.
* Replace ifs in SOG.GroupResize() with Math.Min()Justin Clark-Casey (justincc)2011-07-161-13/+7
| | | | | Also fiddle a bit with undo. This is not currently working properly, though to be fair it also didn't appear to work in 0.7.1.1 either (at least for resize). Will get some more attention soon.