aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneGraph.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Help big boobies to dance (avatar visualParams). May not persist and need ↵UbitUmarov2012-04-261-1/+1
| | | | more lobe ?
* changed - VolumeDetect and phantom setting interaction. Script VD(true) ↵UbitUmarov2012-04-191-2/+12
| | | | forces phantom ON. UI phantom off turns off VD. Other transitions should only change specific parameter. This is not as current SL. - Fixed volumedetect prims being wrongly removed from physics.
* Merge branch 'master' into careminsterMelanie2012-04-031-1/+2
|\ | | | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs OpenSim/Region/Framework/Scenes/SceneObjectPart.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
| * Eliminate race condition where many callers would check SOP.PhysicsActor != ↵Justin Clark-Casey (justincc)2012-04-031-1/+2
| | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' into careminsterMelanie2012-03-311-5/+5
|\ \ | |/ | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs OpenSim/Tests/Common/Mock/TestClient.cs
| * refactor: Rename SOG.GetChildPart() to GetPart() since it can also return ↵Justin Clark-Casey (justincc)2012-03-311-2/+2
| | | | | | | | the 'root' part.
| * Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ↵Justin Clark-Casey (justincc)2012-03-311-3/+3
| | | | | | | | | | | | ContainsPart method and remove method duplication. HasChildPrim is also misleading since the 'root' prim can also be returned.
* | add some more notifications about changes on physical parameters ( still ↵UbitUmarov2012-03-201-0/+4
| | | | | | | | incomple and there should be a better away )
* | Merge branch 'master' into careminsterMelanie2012-03-181-30/+1
|\ \ | |/ | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs OpenSim/Region/Framework/Scenes/Scene.cs
| * Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-161-30/+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.
* | added ObjectPhysicsProperties http event message to send viewer that data. ↵UbitUmarov2012-03-151-0/+1
| | | | | | | | For now on caps/EventQueue, and still only used on a material change...
* | initial suport for ExtraPhysical parts parameters. Reading from llclientView ↵UbitUmarov2012-03-131-2/+9
| | | | | | | | to SOP including SOPserialization (not to databases). No action on physics still. No send to viewer, etc
* | Refactor, move OjectChangeData into it's own file and renameMelanie2012-03-131-114/+1
| | | | | | | | | | ObjectChnageWhat what into ObjectChangeType change. What is no name for a variable or type!
* | BIG MESS. changed Iclient interface so only one event is used to inform ↵UbitUmarov2012-03-101-0/+152
| | | | | | | | scene about position scale or rotation change by client (others can be added). Its served at SceneGraph that does permition checks, undostore and sends down to SOG. changed values are stored in a class (ObjectChangeData) and what is changed as a enum (ObjectChangeWhat) with bit fields and 'macros' of this for better readability (at top of scenegraph.cs lasy to find better place for now) this can be extended for other things clients changes and need undo/redo. SOG process acording to what is changed. Changed UNDO/redo to use this also (warning is only storing what is changed, previus stored all, this must be checked for side efects. to save all PRS change commented line in scenegraph). Still have excessive calls to ScheduleGroupForTerseUpdate. **** UNTESTED ****
* | Merge branch 'master' into careminsterMelanie2012-03-091-21/+3
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/ScenePresence.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
| * Simplify minimap coarse location code by just reference SP.AbsolutePositionJustin Clark-Casey (justincc)2012-03-091-5/+1
| | | | | | | | This is rather than checking whether the avatar is sitting and doing its own calculation.
| * Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)2012-03-091-19/+5
| | | | | | | | | | | | | | (saving extra null checks, etc.) However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null. Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
* | Move KeyframeMotion from SOG to SOP because we can't persist it anyMelanie2012-02-261-0/+11
| | | | | | | | other way because SOG doesn't technically exist in the DB
* | Merge branch 'master' into careminsterMelanie2012-02-181-2/+2
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/Scene.Inventory.cs OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
| * Fix a bug where changing shape parameters of a child prim in a linkset would ↵Justin Clark-Casey (justincc)2012-02-181-2/+2
| | | | | | | | | | | | not persist. Resolves http://opensimulator.org/mantis/view.php?id=5819
* | Merge branch 'master' into careminsterMelanie2012-02-161-5/+5
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
| * In ObjectTortureTests, run garbage collector on Teardown and run scene loop ↵Justin Clark-Casey (justincc)2012-02-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | update when scene objects have been deleted. At least on mono 2.6.4, running GC.Collect() is not guaranteed to force gc of all objects when run in the same method where those objects had references. Therefore, GC.Collect() is now being done in the per-script teardown of ObjectTortureTests. In addition, scene loop update is being run after garbage collection in order to clean out the viewer update list of scene objects in the SceneGraph. These measures mean that scene objects/parts are now garbage collected after a test run if deleted from the scene, resulting in a much better memory usage report (though probably still not very accurate). However, deletion takes a very long time - what's really needed is to find out now why the entire scene isn't being GC'd by this measure. This change hasn't yet been applied to the other stress tests.
* | Merge branch 'master' into careminsterMelanie2012-02-091-2/+11
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/SceneGraph.cs
| * Stop a scene object from attempting to link with itself (which results in an ↵Justin Clark-Casey (justincc)2012-02-081-5/+11
| | | | | | | | | | | | exception and constant complaints in v3 viewers). Aims to address http://opensimulator.org/mantis/view.php?id=5878
* | Merge branch 'master' into careminsterMelanie2012-02-031-17/+2
|\ \ | |/
| * ObjectAddedToScene event should be fired when duplicating objectsDan Lake2012-02-021-16/+0
| |
| * Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDan Lake2012-02-011-25/+20
| |\
| * | Add a version of GetGroupByPrim to Scene which accepts UUID instead of localIDDan Lake2012-01-191-1/+2
| | |
* | | Merge branch 'master' into careminsterMelanie2012-01-311-1/+18
|\ \ \ | | |/ | |/| | | | | | | Conflicts: OpenSim/Region/Application/OpenSimBase.cs
| * | Remove scene object null check on SceneGraph.AddSceneObject(). Complain ↵Justin Clark-Casey (justincc)2012-01-311-1/+7
| | | | | | | | | | | | | | | | | | explicitly if there's an attempt to add any object with a zero UUID. Callers themselves need to check that they're not attempting to add a null scene object.
| * | Add torture tests to test adding 10,000, 100,000 and 200,000 single prim ↵Justin Clark-Casey (justincc)2012-01-311-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | scene objects. These can be run using the "nant torture" target. They are not part of "nant test" due to their long-run future nature. Such tests are designed to do some testing of extreme situations and give some feedback on memory usage, etc. However, data can be inconsistent due to different machine circumstances and virtual machine actions. This area is under development.
* | | Merge branch 'master' into careminsterMelanie2012-01-301-5/+7
|\ \ \ | |/ /
| * | lock SceneObjectGroupsByFullID in SceneGraph.ForEachSOG() to stop failure if ↵Justin Clark-Casey (justincc)2012-01-301-5/+7
| | | | | | | | | | | | SceneObjectGroupsByFullID is updated elsewhere at the same time.
* | | Merge branch 'master' into careminsterMelanie2012-01-251-6/+0
|\ \ \ | |/ / | | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/SceneGraph.cs
| * | Removed unused delegates in SceneGraph: ObjectDuplicateDelegate, ↵Dan Lake2012-01-241-6/+0
| | | | | | | | | | | | ObjectCreateDelegate, ObjectDeleteDelegate
* | | Merge branch 'master' into careminsterMelanie2012-01-251-12/+0
|\ \ \ | |/ / | | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/SceneGraph.cs
| * | Removed unused events in SceneGraph: OnObjectCreate, OnObjectRemove, ↵Dan Lake2012-01-241-13/+0
| |/ | | | | | | OnObjectDuplicate
* | Merge branch 'master' into careminsterMelanie2011-12-221-1/+0
|\ \ | |/
| * Remove unused m_physicalPrim parameter from SOG.ApplyPhysics()Justin Clark-Casey (justincc)2011-12-221-1/+0
| |
* | Merge branch 'master' into careminsterMelanie2011-12-181-14/+0
|\ \ | |/
| * Fix bug where objects could not be set to a new group if the group had been ↵Justin Clark-Casey (justincc)2011-12-171-14/+0
| | | | | | | | | | | | | | | | | | | | 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
| * Fix compile error from an earlier commitDan Lake2011-11-101-2/+0
| |
| * Prevent linking objects while they are deeded. On unlinking deeded objects,Melanie2011-11-111-4/+19
| | | | | | | | | | set LastOwnerID properly so the parts cannot be transferred, circumventing no trans perms
| * Replacing te linking code with the code from Avination. Link sets prims are nowMelanie2011-11-051-1/+1
| | | | | | | | numbered properly even when sets are linked to sets.
* | Prevent linking objects while they are deeded. On unlinking deeded objects,Melanie2011-11-101-4/+17
| | | | | | | | | | set LastOwnerID properly so the parts cannot be transferred, circumventing no trans perms
* | Merge branch 'master' into bigmergeMelanie2011-11-041-1/+1
|\ \ | |/ | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs OpenSim/Region/CoreModules/LightShare/LightShareModule.cs OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
| * 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.
* | Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmergeMelanie2011-11-021-2/+2
|\ \
| * \ Merge branch 'master' into bigmergeMelanie2011-11-031-2/+2
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/SceneGraph.cs OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs OpenSim/Region/Framework/Scenes/SceneObjectPart.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
| | * Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake2011-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.