aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics (follow)
Commit message (Collapse)AuthorAgeFilesLines
* BulletSim: refactor all the linkset logic out of the prim classRobert Adams2012-07-264-235/+409
| | | | | | and into its own class. The BulletSim data structures track individual prims as linksets of 1 so most of the prim code is not different between a linked and unlinked object.
* Add check so Ode does not try to simulate after it has been Dispose()'ed. ↵Robert Adams2012-07-261-0/+9
| | | | Fixes exception that happens when shutting down region (improvements from last patch)
* BulletSim: remove unused, commented out code in BSConstraintRobert Adams2012-07-251-8/+0
|
* BulletSim: fix line endings in newly added files (Is it DOS or is it UNIX? ↵Robert Adams2012-07-252-301/+301
| | | | Only it's hairdresser knows for sure)
* BulletSim: add parameters for setting linkset constraint factorsRobert Adams2012-07-252-17/+32
|
* BulletSim: small change to use the pointer to the bullet object for zeroing ↵Robert Adams2012-07-251-6/+5
| | | | forces.
* BulletSim: Redo parameter specification so only one place hasRobert Adams2012-07-251-248/+378
| | | | | to change to have a parameter show up in the ini file and command line. Will make it much easier for the next person.
* BulletSim: Add C# classes for storing and tracking constraints.Robert Adams2012-07-252-0/+301
|
* BulletSim: Move constraint tracking from C++ code to C# codeRobert Adams2012-07-252-18/+83
| | | | for more flexibility.
* BulletSim: change how prim mass is saved so it is always calculated but zero ↵Robert Adams2012-07-231-20/+23
| | | | is given if not physical.
* BulletSim: small optimizations for link and unlink codeRobert Adams2012-07-231-12/+8
|
* BulletSim: add Dispose() code to free up resources and close log files.Robert Adams2012-07-231-0/+21
|
* BulletSim: add all the new functions to BulletSimAPI.Robert Adams2012-07-232-6/+139
| | | | Modify ZeroMotion() to not make tainting calls and to use new API calls.
* BulletSim: improve linking to add each link individually rather than ↵Robert Adams2012-07-231-60/+76
| | | | rebuilding the object each time. Makes it an O(n) operation rather than O(n\!).
* BulletSim: add reference to OpenSim.Region.CoreModules in BSScene.cs ↵Robert Adams2012-07-201-1/+2
| | | | attempting to fix a mono compile error.
* BulletSim: more detail logging for vehicle and general physics debugging.Robert Adams2012-07-204-75/+244
| | | | | | | | Physical linksets are fully functional. Tweeking of the vehicle code to make it semi-work. Utilize the new API2 for some setting operations. Add GetOrientation() API call for proper reporting of children of linksets. Changes the interface between C# and C++ code so old DLLs won't work!
* BulletSim: fix compile errors from last commit. Clean up passing of physics ↵Robert Adams2012-07-202-15/+14
| | | | scene into vehicle dynamics code.
* BulletSim: Add very detailed logging to BSDynamics for vehicle debuggingRobert Adams2012-07-203-45/+146
|
* BulletSim: Add PID variables to physical scene. Not PIDing yet, but soon.Robert Adams2012-07-203-101/+97
| | | | Cleaned up code and got rid of compile warnings.
* BulletSim: Add detailed and voluminous debug logging that is enabledRobert Adams2012-07-202-40/+65
| | | | | | | with an ini configuration parameter. Correct computation of relative offsets of children in a linkset. Remove a prim from any link relationship before deleting it. Minor code flow cleanups.
* update PrimMesher.cs to dll version r72 which fixes some path errors in ↵dahlia2012-07-131-143/+183
| | | | sliced linear prims. Addresses Mantis #6085
* Clean up collision reporting code so they are properly passed toRobert Adams2012-07-064-58/+107
| | | | | the simulator in batches. More comments.
* Remove some mono compiler warningsJustin Clark-Casey (justincc)2012-06-301-2/+3
|
* Move update of the final optional ODE total frame stat inside the OdeLock ↵Justin Clark-Casey (justincc)2012-06-291-3/+3
| | | | rather than outside to avoid a very occasional race condition with the stat collection thread
* refactor: rename _collisionEventPrim to m_collisionEventActors and ↵Justin Clark-Casey (justincc)2012-06-291-12/+12
| | | | | | _collisionEventPrimChanges to m_collisionEventActorsChanges to reflect their actual contents. These dictionaries handle all actor types, not just physical prims.
* Fix a regression where we stopped removing avatars from collision event ↵Justin Clark-Casey (justincc)2012-06-291-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.
* Add optional total avatars, total prims and active prims stats to ODE plugin.Justin Clark-Casey (justincc)2012-06-011-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
* If OdeScene.Near() returns no collision contacts, then exit as early as ↵Justin Clark-Casey (justincc)2012-06-011-0/+4
| | | | possible. All subsequent code is only relevant if there are contacts.
* Add optional stat for the other collision time per frame not spent in ODE ↵Justin Clark-Casey (justincc)2012-06-011-1/+16
| | | | native spaces or geom collision code
* Add avatar forces calculation, prim force and raycasting per frame ↵Justin Clark-Casey (justincc)2012-06-011-7/+46
| | | | millisecond optional stats
* Collection optional avatar and prim taint frame millisecond timesJustin Clark-Casey (justincc)2012-06-011-7/+36
|
* Remove recent optional native collision frame milliseconds statJustin Clark-Casey (justincc)2012-06-011-13/+1
| | | | Unnecessary since this has now been broken down into space collisions and geom collisions
* Add optional stat that records milliseconds spent notifying collision ↵Justin Clark-Casey (justincc)2012-06-011-0/+14
| | | | listeners in physics frames
* Add avatar and prim update milliseconds per frame optional statsJustin Clark-Casey (justincc)2012-06-011-7/+31
|
* Add option native step frame ms statJustin Clark-Casey (justincc)2012-06-011-9/+21
|
* Add total ODE frame time optional stat, as a sanity check on the main scene ↵Justin Clark-Casey (justincc)2012-06-011-7/+21
| | | | physics stat
* Break down native ODE collision frame time stat into native space collision ↵Justin Clark-Casey (justincc)2012-06-011-4/+22
| | | | and geom collision stats
* Rename new collision stats to 'contacts' - there are/can be multiple ↵Justin Clark-Casey (justincc)2012-06-011-6/+6
| | | | contacts per collision and this is what is actually being measured.
* Stop adding an unnecessary duplicate _perloopcontact if the avatar is ↵Justin Clark-Casey (justincc)2012-06-011-9/+4
| | | | | | standing on a prim. This has already been added earlier on in the method.
* minor: comment out currently unused OdeScene.sCollisionDataJustin Clark-Casey (justincc)2012-06-011-9/+9
|
* Add ODE avatar and prim collision numbers if extra stats collection is enabled.Justin Clark-Casey (justincc)2012-06-011-5/+34
|
* Fix OdeScene.GetTopColliders() to return the top 25 colliders rather than ↵Justin Clark-Casey (justincc)2012-06-011-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.
* Add an optional mechanism for physics modules to collect and return ↵Justin Clark-Casey (justincc)2012-05-312-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.
* refactor: move EventQueueGet path generation into common method. Rename ↵Justin Clark-Casey (justincc)2012-05-181-1/+1
| | | | some local variables in line with code conventions. Add commented out EQG log lines for future use.
* Don't eagerly clear frame collision events when physics actors subscribe and ↵Justin Clark-Casey (justincc)2012-05-171-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
* Restore _parent_scene.actor_name_map[prim_geom] = this; accidentally removed ↵Justin Clark-Casey (justincc)2012-04-241-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
* refactor: simply some properties code in BasicPhysicsPluginJustin Clark-Casey (justincc)2012-04-222-72/+12
|
* Fix bug where setting phantom on a prim would result in a server log message ↵Justin Clark-Casey (justincc)2012-04-222-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.
* Comment out spurious Body != IntPtr.Zero code after disableBody(), since ↵Justin Clark-Casey (justincc)2012-04-212-10/+20
| | | | disableBody() sets Body == IntPtr.Zero on all code paths.
* refactor: Simplify ODEPrim.AddChildPrim() by returning early where appropriate.Justin Clark-Casey (justincc)2012-04-211-115/+117
|