Diva Canto
aeeaa3a0a9
Added AssemblyInfos to every dll in the OpenSim.Region namespace.
2012-11-14 11:09:43 -08:00
Diva Canto
e4cb7af98a
Updated all existing AssemblyVersions's to 0.7.5.*. Many DLLs still don't have an AssemblyInfo file.
2012-11-13 19:26:43 -08:00
Dan Lake
9bc0419679
ODECharacter overrides TargetVelocity. No change to existing behavior
2012-11-08 01:18:25 -08:00
Justin Clark-Casey (justincc)
ff6c69000e
Log warning if mesh/sculpt asset couldn't be found by ODEPrim.MeshAssetReceived() callback.
...
Presumably this is now more useful if the false positive from the old method of loading mesh assets have been eliminated.
2012-10-30 01:40:59 +00:00
Justin Clark-Casey (justincc)
cccf695327
Add asset != null check to ODEPrim.MeshAssetReceived instead of throwing exception.
...
In some cases (such as failure to receive response from asset service), it is possible for a null to be returned from IAssetService.Get(string, object, AssetRetrieved).
2012-10-30 01:14:48 +00:00
Justin Clark-Casey (justincc)
37de965233
Make MeshAssetReceived private.
...
Keep methods private unless they need to be opened up to external callers. Reduces analysis complexity.
2012-10-30 01:08:00 +00:00
Justin Clark-Casey (justincc)
aeeed29d62
correct ODEPrim.MeshAssetReveived -> MeshAssetReceived
2012-10-30 01:07:14 +00:00
Justin Clark-Casey (justincc)
5bc07a15f5
minor: remove unnecessary bit of method doc from OdePrim.BadMeshAssetCollideBits that monodevelop inserted automatically
2012-10-20 02:52:38 +01:00
Justin Clark-Casey (justincc)
d2b19f00da
Fix minor issues from commit 28483150
...
Fix spelling of collide, change to more self-documenting property BadMeshAssetCollideBits, add method doc, change to private to reduce code analysis complexity
2012-10-20 02:49:16 +01:00
UbitUmarov
28483150e2
[UNTESTED] core Ode: let broken mesh physical prims collide with land as
...
the defaul basic box so they don't go off world.
2012-10-19 01:19:48 +01:00
UbitUmarov
b058ba5859
[UNTESTED] core Ode: stop trying to load a broken asset. Make broken
...
assets behave like phantom by Nebadon request
2012-10-19 00:30:48 +01:00
UbitUmarov
1e7fb2dc36
i update core ode plugin and make it load is meshs (i hope)
...
Signed-off-by: Melanie <melanie@t-data.com >
2012-10-18 20:58:12 +01:00
teravus
7e90ea3551
av_av_collisions_off = false OdePhysics Settings in OpenSimDefaults.ini - No Avatar Avatar Collisions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment.
2012-10-09 10:41:16 -04:00
teravus
764270a0d8
Add config option to plant avatar where they are reducing avatar avatar 'pushability' av_planted see OpenSimDefaults.ini. Use when you have unruly visitors that rudely push each other around. Still allows a small amount of movement based on the avatar movement PID controller settings. You can increase the spring tension in the PID controller and really prevent any movement if you would like.
2012-10-09 09:26:11 -04:00
teravus
a2ab3b88de
Soliciting for comments on smoothness of physics objects for this build.
...
This introduces expected contact point hints to the ODE Collider to better determine when to throttle updates as excessive. This /should/ smooth physics objects out again, however, I cannot know every configuration of OpenSimulator, so I'm requesting that testers please examine this change on their build.
Thanks!
2012-10-03 18:30:44 -04:00
teravus
e56ef2720e
I propose that 0.5m/step change for linear velocity is too big of a change to control the reporting of a new angular velocity. I think that this could be here for one of two reasons, 1. vehicles and llMoveToTarget with axis lock, or 2. To attempt to make things look more stable in the physics scene then they really are, however, this also really affects the angular velocity reporting negatively causing things to spin wildly and jump back into place repeatedly. To compromise, if the prim is a vehicle or is being used as a motor target, the original functionality is still applied. If that's not the case, angular velocity is reported with a linear velocity of 0.02m/step. To be clear on the effect of the physical world... When you push things, there's still a lag time where you walk into the object but once the object is in motion, it begins to move as you would expect so results in slightly more realistic motion.
2012-10-03 02:30:23 -04:00
teravus
df3d1d1301
Minor Modification, switch /2 to 0.5f in ODEPrim.Velocity
2012-10-02 23:14:35 -04:00
Justin Clark-Casey (justincc)
d4f476c7ce
Remove the LandGeom checks in OdeScene - these are pointless since LandGeom is always IntPtr.Zero and contacts returned always have a valid geometry.
...
Possibly this was for a feature that was never implemented or was otherwise removed.
Thanks to SignpostMarv for the spot of the warning that shows this parameter was never changed.
2012-07-27 23:31:19 +01:00
Robert Adams
9e914f5c32
Add check so Ode does not try to simulate after it has been Dispose()'ed. Fixes exception that happens when shutting down region (improvements from last patch)
2012-07-26 16:03:15 -07:00
Justin Clark-Casey (justincc)
0229e90dcc
Move update of the final optional ODE total frame stat inside the OdeLock rather than outside to avoid a very occasional race condition with the stat collection thread
2012-06-29 01:02:35 +01:00
Justin Clark-Casey (justincc)
e420f815dc
refactor: rename _collisionEventPrim to m_collisionEventActors and _collisionEventPrimChanges to m_collisionEventActorsChanges to reflect their actual contents.
...
These dictionaries handle all actor types, not just physical prims.
2012-06-29 00:54:40 +01:00
Justin Clark-Casey (justincc)
1a7be7b00e
Fix a regression where we stopped removing avatars from collision event 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-29 00:36:50 +01:00
Justin Clark-Casey (justincc)
6375db1533
Add optional total avatars, total prims and active prims stats to ODE plugin.
...
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-01 04:23:36 +01:00
Justin Clark-Casey (justincc)
4e06a46dc5
If OdeScene.Near() returns no collision contacts, then exit as early as possible. All subsequent code is only relevant if there are contacts.
2012-06-01 04:07:39 +01:00
Justin Clark-Casey (justincc)
200376b3c4
Add optional stat for the other collision time per frame not spent in ODE native spaces or geom collision code
2012-06-01 03:49:42 +01:00
Justin Clark-Casey (justincc)
d34b84b531
Add avatar forces calculation, prim force and raycasting per frame millisecond optional stats
2012-06-01 03:23:19 +01:00
Justin Clark-Casey (justincc)
9ff8efc720
Collection optional avatar and prim taint frame millisecond times
2012-06-01 03:03:48 +01:00
Justin Clark-Casey (justincc)
d1b5f8d9d7
Remove recent optional native collision frame milliseconds stat
...
Unnecessary since this has now been broken down into space collisions and geom collisions
2012-06-01 02:35:11 +01:00
Justin Clark-Casey (justincc)
31343aa7c3
Add optional stat that records milliseconds spent notifying collision listeners in physics frames
2012-06-01 02:33:44 +01:00
Justin Clark-Casey (justincc)
5f44be99ef
Add avatar and prim update milliseconds per frame optional stats
2012-06-01 02:25:42 +01:00
Justin Clark-Casey (justincc)
5cc9b820e5
Add option native step frame ms stat
2012-06-01 01:58:28 +01:00
Justin Clark-Casey (justincc)
f2c8c7a7b8
Add total ODE frame time optional stat, as a sanity check on the main scene physics stat
2012-06-01 01:37:19 +01:00
Justin Clark-Casey (justincc)
8333b928fa
Break down native ODE collision frame time stat into native space collision and geom collision stats
2012-06-01 01:27:19 +01:00
Justin Clark-Casey (justincc)
c33c8db825
Rename new collision stats to 'contacts' - there are/can be multiple contacts per collision and this is what is actually being measured.
2012-06-01 01:15:27 +01:00
Justin Clark-Casey (justincc)
e1f8d2adb0
Stop adding an unnecessary duplicate _perloopcontact if the avatar is standing on a prim.
...
This has already been added earlier on in the method.
2012-06-01 01:12:30 +01:00
Justin Clark-Casey (justincc)
8301f7b17f
minor: comment out currently unused OdeScene.sCollisionData
2012-06-01 00:57:55 +01:00
Justin Clark-Casey (justincc)
93fa9e8991
Add ODE avatar and prim collision numbers if extra stats collection is enabled.
2012-06-01 00:56:13 +01:00
Justin Clark-Casey (justincc)
878b67b333
Fix OdeScene.GetTopColliders() to return the top 25 colliders rather than 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-06-01 00:26:11 +01:00
Justin Clark-Casey (justincc)
0b02a4d42e
Add an optional mechanism for physics modules to collect and return 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-31 01:52:26 +01:00
Justin Clark-Casey (justincc)
6501b1b1bb
refactor: move EventQueueGet path generation into common method. Rename some local variables in line with code conventions. Add commented out EQG log lines for future use.
2012-05-18 00:38:29 +01:00
Justin Clark-Casey (justincc)
b18c8c8e78
Don't eagerly clear frame collision events when physics actors subscribe and 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-05-17 23:59:43 +01:00
Justin Clark-Casey (justincc)
c6f30e044b
Restore _parent_scene.actor_name_map[prim_geom] = this; accidentally removed 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-24 20:15:10 +01:00
Justin Clark-Casey (justincc)
ae2b8f7007
Comment out spurious Body != IntPtr.Zero code after disableBody(), since disableBody() sets Body == IntPtr.Zero on all code paths.
2012-04-21 03:42:54 +01:00
Justin Clark-Casey (justincc)
f609594595
refactor: Simplify ODEPrim.AddChildPrim() by returning early where appropriate.
2012-04-21 03:23:51 +01:00
Justin Clark-Casey (justincc)
7a574be3fd
Remove redundant prim_geom != IntPtr.Zero checks in ODEPrim.
...
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-21 00:12:07 +01:00
Justin Clark-Casey (justincc)
566327a948
If a physical prim is manually moved (e.g. by a user) then set the geometry 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-04-20 23:24:24 +01:00
Justin Clark-Casey (justincc)
86bd287b53
refactor: precalculate the fixed movement factor for avatar tilting (sqrt(2)) rather than doing it multiple times on every move.
2012-03-20 20:39:33 +00:00
Justin Clark-Casey (justincc)
5f2a65c976
refactor: Eliminate unnecessary duplicate avCapsuleTilted
2012-03-20 20:28:58 +00:00
Justin Clark-Casey (justincc)
1c0f3a1f21
Fix crash where two scene loop threads could changes m_MeshToTriMeshMap at the same time.
...
Have to lock m_MeshToTriMeshMap as property is static and with more than one region two scene loops could try to manipulate at the same time.
2012-03-20 00:40:03 +00:00
Justin Clark-Casey (justincc)
f67f37074f
Stop spurious scene loop startup timeout alarms for scenes with many prims.
...
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24 05:02:33 +00:00