aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-07-06Clean up collision reporting code so they are properly passed toRobert Adams4-58/+107
the simulator in batches. More comments.
2012-06-30Remove some mono compiler warningsJustin Clark-Casey (justincc)1-2/+3
2012-06-29Move update of the final optional ODE total frame stat inside the OdeLock ↵Justin Clark-Casey (justincc)1-3/+3
rather than outside to avoid a very occasional race condition with the stat collection thread
2012-06-29refactor: rename _collisionEventPrim to m_collisionEventActors and ↵Justin Clark-Casey (justincc)1-12/+12
_collisionEventPrimChanges to m_collisionEventActorsChanges to reflect their actual contents. These dictionaries handle all actor types, not just physical prims.
2012-06-29Fix a regression where we stopped removing avatars from collision event ↵Justin Clark-Casey (justincc)1-1/+1
reporting on logout, rather than stopping clearing their collision events. This occurred in b18c8c8 (Thu May 17 2012). This was a cause of very occasional race conditions and likely memory leakage as clients came and went from the region.
2012-06-01Add optional total avatars, total prims and active prims stats to ODE plugin.Justin Clark-Casey (justincc)1-0/+21
These will act as a sanity check with the main scene stats, to show that physics scene entities are being managed properly. Total prims will not match scene total prims since physics total does not include phantom prims
2012-06-01If OdeScene.Near() returns no collision contacts, then exit as early as ↵Justin Clark-Casey (justincc)1-0/+4
possible. All subsequent code is only relevant if there are contacts.
2012-06-01Add optional stat for the other collision time per frame not spent in ODE ↵Justin Clark-Casey (justincc)1-1/+16
native spaces or geom collision code
2012-06-01Add avatar forces calculation, prim force and raycasting per frame ↵Justin Clark-Casey (justincc)1-7/+46
millisecond optional stats
2012-06-01Collection optional avatar and prim taint frame millisecond timesJustin Clark-Casey (justincc)1-7/+36
2012-06-01Remove recent optional native collision frame milliseconds statJustin Clark-Casey (justincc)1-13/+1
Unnecessary since this has now been broken down into space collisions and geom collisions
2012-06-01Add optional stat that records milliseconds spent notifying collision ↵Justin Clark-Casey (justincc)1-0/+14
listeners in physics frames
2012-06-01Add avatar and prim update milliseconds per frame optional statsJustin Clark-Casey (justincc)1-7/+31
2012-06-01Add option native step frame ms statJustin Clark-Casey (justincc)1-9/+21
2012-06-01Add total ODE frame time optional stat, as a sanity check on the main scene ↵Justin Clark-Casey (justincc)1-7/+21
physics stat
2012-06-01Break down native ODE collision frame time stat into native space collision ↵Justin Clark-Casey (justincc)1-4/+22
and geom collision stats
2012-06-01Rename new collision stats to 'contacts' - there are/can be multiple ↵Justin Clark-Casey (justincc)1-6/+6
contacts per collision and this is what is actually being measured.
2012-06-01Stop adding an unnecessary duplicate _perloopcontact if the avatar is ↵Justin Clark-Casey (justincc)1-9/+4
standing on a prim. This has already been added earlier on in the method.
2012-06-01minor: comment out currently unused OdeScene.sCollisionDataJustin Clark-Casey (justincc)1-9/+9
2012-06-01Add ODE avatar and prim collision numbers if extra stats collection is enabled.Justin Clark-Casey (justincc)1-5/+34
2012-06-01Fix OdeScene.GetTopColliders() to return the top 25 colliders rather than ↵Justin Clark-Casey (justincc)1-19/+13
the first 25 that had non-zero collision scores. Also zeros collisions scores on all prims after report collection, not just the top 25. As before, this collision scores are only reset after a report is requested, which may give unrealistic numbers on the first request. So to see more realistic scores, ignore the first report and then refresh the request after a couple of seconds or so.
2012-05-31Add an optional mechanism for physics modules to collect and return ↵Justin Clark-Casey (justincc)2-10/+143
arbitrary stats. If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule (http://opensimulator.org/wiki/Monitoring_Module) This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings]. This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing. This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds. The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
2012-05-18refactor: move EventQueueGet path generation into common method. Rename ↵Justin Clark-Casey (justincc)1-1/+1
some local variables in line with code conventions. Add commented out EQG log lines for future use.
2012-05-17Don't eagerly clear frame collision events when physics actors subscribe and ↵Justin Clark-Casey (justincc)1-2/+8
unsubscribe from collisions, in order to avoid a race condition. Since this is done directly from ScenePresence, it can lead to a race condition with the simulator loop. There's no real point doing it anyway since the clear will be done very shortly afterwards by the simulate loop and either there are no events (for a new avatar) or events don't matter (for a departing avatar). This matches existing behaviour in OdePrim
2012-04-24Restore _parent_scene.actor_name_map[prim_geom] = this; accidentally removed ↵Justin Clark-Casey (justincc)1-0/+1
from ODEPrim.SetGeom. This occurred in 7a574be3fd from Sat 21 Apr 2012. This should fix collision detection. Mnay thanks to tglion for the spot and the fix in http://opensimulator.org/mantis/view.php?id=5988
2012-04-22refactor: simply some properties code in BasicPhysicsPluginJustin Clark-Casey (justincc)2-72/+12
2012-04-22Fix bug where setting phantom on a prim would result in a server log message ↵Justin Clark-Casey (justincc)2-18/+367
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-21Comment out spurious Body != IntPtr.Zero code after disableBody(), since ↵Justin Clark-Casey (justincc)2-10/+20
disableBody() sets Body == IntPtr.Zero on all code paths.
2012-04-21refactor: Simplify ODEPrim.AddChildPrim() by returning early where appropriate.Justin Clark-Casey (justincc)1-115/+117
2012-04-21Remove redundant prim_geom != IntPtr.Zero checks in ODEPrim.Justin Clark-Casey (justincc)1-116/+88
prim_geom == IntPtr.Zero only before a new add prim taint is processed (which is the first taint) or in operations such as scale change which are done in taint or under lock. Therefore, we can remove these checks which were not consistently applied anyway. If there is a genuine problem, better to see it quickly in a NullReferenceException than hide the bug.
2012-04-20If a physical prim is manually moved (e.g. by a user) then set the geometry ↵Justin Clark-Casey (justincc)1-12/+10
position as well as the body position This is necessary to stop the moved prim snapping back to the original position on deselection if moved only once This resolves http://opensimulator.org/mantis/view.php?id=5966
2012-03-26BulletSim: make avatar animations update properly.Robert Adams3-9/+48
It seems that ODE calls the avatar collision handling routine even if there are no collisions. This causes the animation to be updated. So, for instance, going from HOVER to FLY is caused by the physics engine calling the collision routine each frame with 0 collisions.
2012-03-26BulletSim: fix typo introducted by previous checkins (git merge sometimes ↵Robert Adams1-3/+0
makes mistakes)
2012-03-23BulletSim: change default of shouldDisableContactPoolDynamicAllocation from ↵Robert Adams1-2/+2
False to True. It seems that collisions don't happen well when it is False (things fall through terrain).
2012-03-23BulletSim: Add new configuration parameters to get and set console commandsRobert Adams1-4/+32
2012-03-23BulletSim: add a bunch of internal Bullet configuration parameters to ↵Robert Adams2-0/+43
OpenSimDefaults.ini and the code.
2012-03-23BulletSim: remove confusion between angularVelocity and rotationalVelocity ↵Robert Adams3-15/+11
(there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID.
2012-03-23BulletSim: update TODO list. Rearrange code for readability. Add per object ↵Robert Adams2-17/+17
friction and restitution runtime settable parameters.
2012-03-23BulletSim: Add AvatarRestitution parameter. Centralize computation of ↵Robert Adams2-3/+9
buoyancy for flying. Tweek avatar default friction and resititution
2012-03-23BulletSim: set buoyancy in only one placeRobert Adams1-5/+3
2012-03-23BulletSim: add some new runtime setable parameters to match the dll.Robert Adams2-7/+16
2012-03-23BulletSim: Update list of TODO tasksRobert Adams1-0/+13
2012-03-22BulletSim: remove confusion between angularVelocity and rotationalVelocity ↵Robert Adams3-15/+11
(there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID.
2012-03-21BulletSim: update TODO list. Rearrange code for readability. Add per object ↵Robert Adams2-17/+17
friction and restitution runtime settable parameters.
2012-03-21BulletSim: Add AvatarRestitution parameter. Centralize computation of ↵Robert Adams2-3/+9
buoyancy for flying. Tweek avatar default friction and resititution
2012-03-21BulletSim: set buoyancy in only one placeRobert Adams1-5/+3
2012-03-21BulletSim: add some new runtime setable parameters to match the dll.Robert Adams2-7/+16
2012-03-21BulletSim: Update list of TODO tasksRobert Adams1-0/+13
2012-03-20Add prim name to "[MESH]: No recognized physics mesh..." log messageJustin Clark-Casey (justincc)1-1/+1
2012-03-20refactor: precalculate the fixed movement factor for avatar tilting ↵Justin Clark-Casey (justincc)2-8/+16
(sqrt(2)) rather than doing it multiple times on every move.