aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
diff options
context:
space:
mode:
authorRobert Adams2013-01-27 12:48:36 -0800
committerRobert Adams2013-01-27 12:50:07 -0800
commitb546af9ac290951f22e8c8e56798adb176076591 (patch)
tree23f60e1100732357122ffa073c838d8747609507 /OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
parentBulletSim: reinstate the supression of rotational velocity for vehicles (diff)
downloadopensim-SC-b546af9ac290951f22e8c8e56798adb176076591.zip
opensim-SC-b546af9ac290951f22e8c8e56798adb176076591.tar.gz
opensim-SC-b546af9ac290951f22e8c8e56798adb176076591.tar.bz2
opensim-SC-b546af9ac290951f22e8c8e56798adb176076591.tar.xz
BulletSim: simplify the initialization of some of the parameters.
Disable vertical attraction for vehicles by default (for the moment). Fix bug where vehicle would go crazy when velocity got above a certain speed.
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSParam.cs36
1 files changed, 10 insertions, 26 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
index 75eed86..4ece944 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
@@ -84,32 +84,16 @@ public static class BSParam
84 84
85 // Vehicle parameters 85 // Vehicle parameters
86 public static float VehicleMaxLinearVelocity { get; private set; } 86 public static float VehicleMaxLinearVelocity { get; private set; }
87 public static float VehicleMaxLinearVelocitySq { get; private set; }
87 public static float VehicleMaxAngularVelocity { get; private set; } 88 public static float VehicleMaxAngularVelocity { get; private set; }
89 public static float VehicleMaxAngularVelocitySq { get; private set; }
88 public static float VehicleAngularDamping { get; private set; } 90 public static float VehicleAngularDamping { get; private set; }
89 public static float VehicleFriction { get; private set; } 91 public static float VehicleFriction { get; private set; }
90 public static float VehicleRestitution { get; private set; } 92 public static float VehicleRestitution { get; private set; }
91 public static float VehicleLinearFactor { get; private set; } 93 public static float VehicleLinearFactor { get; private set; }
92 private static Vector3? vehicleLinearFactorV; 94 public static Vector3 VehicleLinearFactorV { get; private set; }
93 public static Vector3 VehicleLinearFactorV
94 {
95 get
96 {
97 if (!vehicleLinearFactorV.HasValue)
98 vehicleLinearFactorV = new Vector3(VehicleLinearFactor, VehicleLinearFactor, VehicleLinearFactor);
99 return (Vector3)vehicleLinearFactorV;
100 }
101 }
102 public static float VehicleAngularFactor { get; private set; } 95 public static float VehicleAngularFactor { get; private set; }
103 private static Vector3? vehicleAngularFactorV; 96 public static Vector3 VehicleAngularFactorV { get; private set; }
104 public static Vector3 VehicleAngularFactorV
105 {
106 get
107 {
108 if (!vehicleAngularFactorV.HasValue)
109 vehicleAngularFactorV = new Vector3(VehicleAngularFactor, VehicleAngularFactor, VehicleAngularFactor);
110 return (Vector3)vehicleAngularFactorV;
111 }
112 }
113 public static float VehicleGroundGravityFudge { get; private set; } 97 public static float VehicleGroundGravityFudge { get; private set; }
114 public static float VehicleDebuggingEnabled { get; private set; } 98 public static float VehicleDebuggingEnabled { get; private set; }
115 99
@@ -469,12 +453,12 @@ public static class BSParam
469 1000.0f, 453 1000.0f,
470 (s,cf,p,v) => { VehicleMaxLinearVelocity = cf.GetFloat(p, v); }, 454 (s,cf,p,v) => { VehicleMaxLinearVelocity = cf.GetFloat(p, v); },
471 (s) => { return (float)VehicleMaxLinearVelocity; }, 455 (s) => { return (float)VehicleMaxLinearVelocity; },
472 (s,p,l,v) => { VehicleMaxLinearVelocity = v; } ), 456 (s,p,l,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySq = v * v; } ),
473 new ParameterDefn("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", 457 new ParameterDefn("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle",
474 12.0f, 458 12.0f,
475 (s,cf,p,v) => { VehicleMaxAngularVelocity = cf.GetFloat(p, v); }, 459 (s,cf,p,v) => { VehicleMaxAngularVelocity = cf.GetFloat(p, v); },
476 (s) => { return (float)VehicleMaxAngularVelocity; }, 460 (s) => { return (float)VehicleMaxAngularVelocity; },
477 (s,p,l,v) => { VehicleMaxAngularVelocity = v; } ), 461 (s,p,l,v) => { VehicleMaxAngularVelocity = v; VehicleMaxAngularVelocitySq = v * v; } ),
478 new ParameterDefn("VehicleAngularDamping", "Factor to damp vehicle angular movement per second (0.0 - 1.0)", 462 new ParameterDefn("VehicleAngularDamping", "Factor to damp vehicle angular movement per second (0.0 - 1.0)",
479 0.0f, 463 0.0f,
480 (s,cf,p,v) => { VehicleAngularDamping = cf.GetFloat(p, v); }, 464 (s,cf,p,v) => { VehicleAngularDamping = cf.GetFloat(p, v); },
@@ -484,24 +468,24 @@ public static class BSParam
484 1.0f, 468 1.0f,
485 (s,cf,p,v) => { VehicleLinearFactor = cf.GetFloat(p, v); }, 469 (s,cf,p,v) => { VehicleLinearFactor = cf.GetFloat(p, v); },
486 (s) => { return VehicleLinearFactor; }, 470 (s) => { return VehicleLinearFactor; },
487 (s,p,l,v) => { VehicleLinearFactor = v; } ), 471 (s,p,l,v) => { VehicleLinearFactor = v; VehicleLinearFactorV = new Vector3(v, v, v); } ),
488 new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (0.0 - 1.0)", 472 new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (0.0 - 1.0)",
489 1.0f, 473 1.0f,
490 (s,cf,p,v) => { VehicleAngularFactor = cf.GetFloat(p, v); }, 474 (s,cf,p,v) => { VehicleAngularFactor = cf.GetFloat(p, v); },
491 (s) => { return VehicleAngularFactor; }, 475 (s) => { return VehicleAngularFactor; },
492 (s,p,l,v) => { VehicleAngularFactor = v; } ), 476 (s,p,l,v) => { VehicleAngularFactor = v; VehicleAngularFactorV = new Vector3(v, v, v); } ),
493 new ParameterDefn("VehicleFriction", "Friction of vehicle on the ground (0.0 - 1.0)", 477 new ParameterDefn("VehicleFriction", "Friction of vehicle on the ground (0.0 - 1.0)",
494 0.0f, 478 0.0f,
495 (s,cf,p,v) => { VehicleFriction = cf.GetFloat(p, v); }, 479 (s,cf,p,v) => { VehicleFriction = cf.GetFloat(p, v); },
496 (s) => { return VehicleFriction; }, 480 (s) => { return VehicleFriction; },
497 (s,p,l,v) => { VehicleFriction = v; } ), 481 (s,p,l,v) => { VehicleFriction = v; } ),
498 new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)", 482 new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)",
499 0.2f, 483 0.0f,
500 (s,cf,p,v) => { VehicleRestitution = cf.GetFloat(p, v); }, 484 (s,cf,p,v) => { VehicleRestitution = cf.GetFloat(p, v); },
501 (s) => { return VehicleRestitution; }, 485 (s) => { return VehicleRestitution; },
502 (s,p,l,v) => { VehicleRestitution = v; } ), 486 (s,p,l,v) => { VehicleRestitution = v; } ),
503 new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", 487 new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)",
504 1.0f, 488 0.2f,
505 (s,cf,p,v) => { VehicleGroundGravityFudge = cf.GetFloat(p, v); }, 489 (s,cf,p,v) => { VehicleGroundGravityFudge = cf.GetFloat(p, v); },
506 (s) => { return VehicleGroundGravityFudge; }, 490 (s) => { return VehicleGroundGravityFudge; },
507 (s,p,l,v) => { VehicleGroundGravityFudge = v; } ), 491 (s,p,l,v) => { VehicleGroundGravityFudge = v; } ),