aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-05-15Guard against null root part on SQLite. This really needs to be fixed so SQLiteMelanie1-1/+1
loads roots before children like MySQL does.
2012-05-15Try to fix sqlite breakageMelanie1-0/+3
2012-05-15Port Avination's collision fixes to core.Melanie1-501/+181
2012-05-09Remove physics actor related race conditions in SetVehicleFlags() and ↵Justin Clark-Casey (justincc)1-7/+9
SetPhysicsAxisRotation() sop.PhysActor can currently become null at any time.
2012-04-22Fix bug where setting phantom on a prim would result in a server log message ↵Justin Clark-Casey (justincc)1-3/+6
rather than setting phantom. This was an oversight when removing some race conditions from PhysicsActor setting recently. Regression tests extended to probe this code path. Extending regression tests required implementation of a BasicPhysicsPrim (there was none before). However, BasicPhysics plugin is still of no current practical use other than to fill in as a component for other parts of regression testing.
2012-04-21Add regression test for prim status when root prim in a new linkset is ↵Justin Clark-Casey (justincc)1-1/+1
non-physical
2012-04-21Add TestSetPhysics() to SOP status testsJustin Clark-Casey (justincc)1-3/+6
2012-04-07Rather than having a FromFolderID property on every single prim and only ↵Justin Clark-Casey (justincc)1-2/+0
ever using the root prim one, store on SOG instead. This reduces pointless memory usage.
2012-04-07Store FromItemID for attachments once on SOG instead of on every SOP and ↵Justin Clark-Casey (justincc)1-2/+0
only ever using the root part entry. This eliminates some pointless memory use.
2012-04-06refactor: Eliminate unnecessary SOP.m_physActorJustin Clark-Casey (justincc)1-10/+1
2012-04-06Fix llGetLinkPrimParams for PRIM_POS_LOCAL for child prims whether in scene ↵Justin Clark-Casey (justincc)1-3/+13
or attachments. Return relative position to root prim rather than 0,0,0. Should fix same issue with llGetLocalPos() http://opensimulator.org/mantis/view.php?id=5951
2012-04-03remove possible PhysActor unexpectedly null race conditions when changing ↵Justin Clark-Casey (justincc)1-57/+74
prim collision status factor out common SOP physics scene adding code into a common SOP.AddToPhysics() that is the counterpart to the existing RemoveFromPhysics()
2012-04-03Eliminate race condition where many callers would check SOP.PhysicsActor != ↵Justin Clark-Casey (justincc)1-91/+116
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.
2012-03-07Always zero the PhysActor on dupes to prevent side effects on the orignal primMelanie1-4/+1
2012-02-19Fix:OmegaX, OmegaY and OmegaZ not saved for child prims ↵PixelTomsen1-3/+3
http://opensimulator.org/mantis/view.php?id=5893 Signed-off-by: nebadon <michael@osgrid.org>
2012-02-15In ObjectTortureTests, run garbage collector on Teardown and run scene loop ↵Justin Clark-Casey (justincc)1-0/+3
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.
2012-02-07Remove debug logging if physics actor is null in SOP.ApplyPhysics()Justin Clark-Casey (justincc)1-5/+1
This is not valid in the case of BasicPhysics which can return a null PhysicsActor (though I think it should really return a do-nothing PhysicsActor).
2012-02-03Check for null scene in ScheduleFullUpdate and ScheduleTerseUpdate before ↵Dan Lake1-4/+7
triggering events on a potentially null Scene
2012-02-02Commenting out new event until I can fix OpenSim tests. Currently, testing ↵Dan Lake1-6/+6
objects does not create a Scene or EventManager so triggering events crashes some tests
2012-02-02OpenSim tests do not always create an EventManager so calls to trigger ↵Dan Lake1-2/+6
events during tests must check for null EventManager
2012-01-28Add an overloaded SceneObjectPart.UpdateTextureEntry(Primitive.TextureEntry ↵Justin Clark-Casey (justincc)1-4/+12
texEntry) for region modules
2012-01-19Trigger event when prims are scheduled for an update. This gives modules ↵Dan Lake1-0/+4
early access to changed parameters.
2012-01-19Cleaned up Color and Text parameters in SOP and made LocalFlags public for ↵Dan Lake1-20/+6
module access.
2012-01-13Cleaned up the LookAt code in SOP and SOG. Added support for incrementallyMic Bowman1-39/+30
rotating physical objects. This does not use physics. Currently the rate of change is determined as 1 / (PI * Strength).
2012-01-12HG: normalize all externalized user ULRs to be the Home URL, i.e. the ↵Diva Canto1-2/+2
location of the user's UAS. This corrects an earlier design which had some cases pointing to the profile server. WARNING: CONFIGURATION CHANGES in both the sims (*Common.ini) and the Robust configs (Robust.HG.ini). Please check diff of the example files, but basically all vars that were pointing to profile should point to the UAS instead and should be called HomeURI.
2012-01-05Small fix to GetWorldPosition to get closer to Avination sit behaviorMelanie1-10/+4
2011-12-22rename Scene.m_physicalPrim to PhysicalPrims since its public and access ↵Justin Clark-Casey (justincc)1-1/+1
external as a property
2011-12-22Make it possible to force all prims to be phantom via the collidable_prim ↵Justin Clark-Casey (justincc)1-1/+4
boolean setting in the OpenSim.ini config [Startup] section. Naturally, default is true. When set to false, "phantom" flags on prims can be set as usual but all prims remain phantom. This setting is for test purposes. This switch does not affect the collision of avatars with the terrain.
2011-12-17Fix bug where objects could not be set to a new group if the group had been ↵Justin Clark-Casey (justincc)1-0/+5
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
2011-12-16Stop generating client flags when we send out full object updates.Justin Clark-Casey (justincc)1-18/+8
These were entirely unused.
2011-12-13Reorder clearing of upate schedule on SOP to before sending updates. Fix ↵Dan Lake1-11/+3
potential race condition.
2011-12-05Fix CHANGED_TEXTURE and CHANGED_COLOR.Melanie1-40/+42
2011-12-03Correct SOP.GetNumberOfSides() to return 8 for meshes rather than 7Justin Clark-Casey (justincc)1-7/+5
We are returning the actual number of 'sides', not the maximum index number. Also minor format corrections.
2011-12-03Workaround for mesh to correct the number of faces in GetNumberOfSides(). ↵marc1-1/+9
Meshs are handeled as sculpts but can have up to 8 faces (SL restriction the collada format can handle even more). The patch enables all LSL function that adressing faces to behave correct. Like llGetNumberOfSides(); llSetLinkPrimitiveParamsFast(); llSetPrimitiveParams(); llSetColor(); Signed-off-by: marc <mare@sounddog.net>
2011-11-21Chain SOP constructors together rather than having copy/paste codeJustin Clark-Casey (justincc)1-14/+5
2011-11-21refactor: Make SOP.Description an automatic propertyJustin Clark-Casey (justincc)1-6/+3
2011-11-21Remove unused PhysicsActor.SOPDescriptionJustin Clark-Casey (justincc)1-11/+2
2011-11-16Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)1-1/+5
own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId! Instead, just have both subclasses use the PhysicsActor.LocalID property. This restores collision functionality that fell away in 45c7789 yesterday
2011-11-11Remove SceneViewer from ScenePresence to reduce quadruple queueing ofDan Lake1-56/+12
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.
2011-11-10In SOP, replaced many references to private members with the public propertiesDan Lake1-243/+233
2011-11-10Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant ↵Dan Lake1-18/+9
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.
2011-11-05Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)1-2/+10
This is to partially address http://opensimulator.org/mantis/view.php?id=5769 We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger. By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>. However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent). Hopefully this can be addressed soon.
2011-11-03Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake1-4/+4
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.
2011-11-03Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake1-10/+10
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.
2011-11-02Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake1-50/+51
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.
2011-10-28fetch SOP.RotationOffset once in UpdateRotation() and compare rather than ↵Justin Clark-Casey (justincc)1-5/+20
fetch four separate times. No functional change.
2011-10-27Continuation of previous checkin. Found more places where ↵Dan Lake1-6/+3
ForEachScenePresence can be changed to ForEachRootScenePresence.
2011-10-27Fix a bug I introduced yesterday in ODE physics where prim scripts would ↵Justin Clark-Casey (justincc)1-0/+2
only receive the very first collision.
2011-10-25Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)1-4/+0
about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-25For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)1-4/+6
CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead. This assumes that the listener is using the data synchronously, which is currently the case.