aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRobert Adams2014-02-08 16:11:43 -0800
committerRobert Adams2014-02-11 21:07:55 -0800
commit3a7c8d1f3265941105f9d7a5edc4f82057099a83 (patch)
tree4a1010441183a30f85158fd2e553aa2128a48d0d
parentvarregion: Send large region patches for wind and clouds. (diff)
downloadopensim-SC-3a7c8d1f3265941105f9d7a5edc4f82057099a83.zip
opensim-SC-3a7c8d1f3265941105f9d7a5edc4f82057099a83.tar.gz
opensim-SC-3a7c8d1f3265941105f9d7a5edc4f82057099a83.tar.bz2
opensim-SC-3a7c8d1f3265941105f9d7a5edc4f82057099a83.tar.xz
BulletSim: the minimum vehicle velocity was set too low so moving slow
was getting zeroed too easily. Added VehicleMinVelocity parameter.
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs7
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSParam.cs6
2 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
index 7b98f9d..0722d70 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs
@@ -1011,8 +1011,13 @@ namespace OpenSim.Region.Physics.BulletSPlugin
1011 VDetailLog("{0}, MoveLinear,clampMax,origVelW={1},lenSq={2},maxVelSq={3},,newVelW={4}", 1011 VDetailLog("{0}, MoveLinear,clampMax,origVelW={1},lenSq={2},maxVelSq={3},,newVelW={4}",
1012 ControllingPrim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySquared, VehicleVelocity); 1012 ControllingPrim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySquared, VehicleVelocity);
1013 } 1013 }
1014 else if (newVelocityLengthSq < 0.001f) 1014 else if (newVelocityLengthSq < BSParam.VehicleMinLinearVelocitySquared)
1015 {
1016 Vector3 origVelW = VehicleVelocity; // DEBUG DEBUG
1017 VDetailLog("{0}, MoveLinear,clampMin,origVelW={1},lenSq={2}",
1018 ControllingPrim.LocalID, origVelW, newVelocityLengthSq);
1015 VehicleVelocity = Vector3.Zero; 1019 VehicleVelocity = Vector3.Zero;
1020 }
1016 1021
1017 VDetailLog("{0}, MoveLinear,done,isColl={1},newVel={2}", ControllingPrim.LocalID, ControllingPrim.HasSomeCollision, VehicleVelocity ); 1022 VDetailLog("{0}, MoveLinear,done,isColl={1},newVel={2}", ControllingPrim.LocalID, ControllingPrim.HasSomeCollision, VehicleVelocity );
1018 1023
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
index d993e6a..860193f 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
@@ -147,6 +147,8 @@ public static class BSParam
147 // Vehicle parameters 147 // Vehicle parameters
148 public static float VehicleMaxLinearVelocity { get; private set; } 148 public static float VehicleMaxLinearVelocity { get; private set; }
149 public static float VehicleMaxLinearVelocitySquared { get; private set; } 149 public static float VehicleMaxLinearVelocitySquared { get; private set; }
150 public static float VehicleMinLinearVelocity { get; private set; }
151 public static float VehicleMinLinearVelocitySquared { get; private set; }
150 public static float VehicleMaxAngularVelocity { get; private set; } 152 public static float VehicleMaxAngularVelocity { get; private set; }
151 public static float VehicleMaxAngularVelocitySq { get; private set; } 153 public static float VehicleMaxAngularVelocitySq { get; private set; }
152 public static float VehicleAngularDamping { get; private set; } 154 public static float VehicleAngularDamping { get; private set; }
@@ -598,6 +600,10 @@ public static class BSParam
598 1000.0f, 600 1000.0f,
599 (s) => { return (float)VehicleMaxLinearVelocity; }, 601 (s) => { return (float)VehicleMaxLinearVelocity; },
600 (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySquared = v * v; } ), 602 (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySquared = v * v; } ),
603 new ParameterDefn<float>("VehicleMinLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle",
604 0.001f,
605 (s) => { return (float)VehicleMinLinearVelocity; },
606 (s,v) => { VehicleMinLinearVelocity = v; VehicleMinLinearVelocitySquared = v * v; } ),
601 new ParameterDefn<float>("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", 607 new ParameterDefn<float>("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle",
602 12.0f, 608 12.0f,
603 (s) => { return (float)VehicleMaxAngularVelocity; }, 609 (s) => { return (float)VehicleMaxAngularVelocity; },