diff options
author | Charles Krinke | 2008-11-01 17:58:34 +0000 |
---|---|---|
committer | Charles Krinke | 2008-11-01 17:58:34 +0000 |
commit | 9299be0080add077ecec9fc869f43565c4481e88 (patch) | |
tree | 7a656be483b73dbddbc8bb3060b686c1b1a6bc74 /OpenSim/Region/Physics | |
parent | Added soft_cfm and soft_erp to the general "contact" initialization (diff) | |
download | opensim-SC-9299be0080add077ecec9fc869f43565c4481e88.zip opensim-SC-9299be0080add077ecec9fc869f43565c4481e88.tar.gz opensim-SC-9299be0080add077ecec9fc869f43565c4481e88.tar.bz2 opensim-SC-9299be0080add077ecec9fc869f43565c4481e88.tar.xz |
Revert last checkin. Avatars fall through non-physical prims now.
There is more to the solution then just enabling soft_erp and
soft_cfm for all d.Contact cases.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 486f53c..a782e2d 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -386,12 +386,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
386 | 386 | ||
387 | staticPrimspace = new IntPtr[(int)(300 / metersInSpace), (int)(300 / metersInSpace)]; | 387 | staticPrimspace = new IntPtr[(int)(300 / metersInSpace), (int)(300 / metersInSpace)]; |
388 | 388 | ||
389 | // General contact friction, bounce and other parameters | 389 | // Centeral contact friction and bounce |
390 | contact.surface.mode |= (d.ContactFlags.SoftERP | d.ContactFlags.SoftCFM); | ||
391 | contact.surface.mu = nmAvatarObjectContactFriction; | 390 | contact.surface.mu = nmAvatarObjectContactFriction; |
392 | contact.surface.bounce = nmAvatarObjectContactBounce; | 391 | contact.surface.bounce = nmAvatarObjectContactBounce; |
393 | contact.surface.soft_cfm = 0.01f; //ckrinke 11-08 | ||
394 | contact.surface.soft_erp = 0.010f; //ckrinke 11-08 | ||
395 | 392 | ||
396 | // Terrain contact friction and Bounce | 393 | // Terrain contact friction and Bounce |
397 | // This is the *non* moving version. Use this when an avatar | 394 | // This is the *non* moving version. Use this when an avatar |
@@ -401,6 +398,12 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
401 | TerrainContact.surface.bounce = nmTerrainContactBounce; | 398 | TerrainContact.surface.bounce = nmTerrainContactBounce; |
402 | TerrainContact.surface.soft_erp = nmTerrainContactERP; | 399 | TerrainContact.surface.soft_erp = nmTerrainContactERP; |
403 | 400 | ||
401 | WaterContact.surface.mode |= (d.ContactFlags.SoftERP | d.ContactFlags.SoftCFM); | ||
402 | WaterContact.surface.mu = 0f; // No friction | ||
403 | WaterContact.surface.bounce = 0.0f; // No bounce | ||
404 | WaterContact.surface.soft_cfm = 0.01f; | ||
405 | WaterContact.surface.soft_erp = 0.010f; | ||
406 | |||
404 | // Prim contact friction and bounce | 407 | // Prim contact friction and bounce |
405 | // THis is the *non* moving version of friction and bounce | 408 | // THis is the *non* moving version of friction and bounce |
406 | // Use this when an avatar comes in contact with a prim | 409 | // Use this when an avatar comes in contact with a prim |
@@ -415,14 +418,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
415 | AvatarMovementTerrainContact.surface.bounce = mTerrainContactBounce; | 418 | AvatarMovementTerrainContact.surface.bounce = mTerrainContactBounce; |
416 | AvatarMovementTerrainContact.surface.soft_erp = mTerrainContactERP; | 419 | AvatarMovementTerrainContact.surface.soft_erp = mTerrainContactERP; |
417 | 420 | ||
418 | // And finally, WaterContact parameters. These are the five different d.Contact defined | ||
419 | // currently (11-08) | ||
420 | WaterContact.surface.mode |= (d.ContactFlags.SoftERP | d.ContactFlags.SoftCFM); | ||
421 | WaterContact.surface.mu = 0f; // No friction | ||
422 | WaterContact.surface.bounce = 0.0f; // No bounce | ||
423 | WaterContact.surface.soft_cfm = 0.01f; | ||
424 | WaterContact.surface.soft_erp = 0.010f; | ||
425 | |||
426 | d.HashSpaceSetLevels(space, worldHashspaceLow, worldHashspaceHigh); | 421 | d.HashSpaceSetLevels(space, worldHashspaceLow, worldHashspaceHigh); |
427 | 422 | ||
428 | // Set the gravity,, don't disable things automatically (we set it explicitly on some things) | 423 | // Set the gravity,, don't disable things automatically (we set it explicitly on some things) |