aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
diff options
context:
space:
mode:
authorRobert Adams2013-02-21 08:52:11 -0800
committerRobert Adams2013-02-21 08:52:11 -0800
commitefb5da0aa672551a8a68e16066f3dd3991f75da4 (patch)
tree713c0f254a512f18e3025afc0b8d0621bade92c7 /OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
parentAdd a method to IStatsCollector for returning stats as an OSDMap. (diff)
downloadopensim-SC_OLD-efb5da0aa672551a8a68e16066f3dd3991f75da4.zip
opensim-SC_OLD-efb5da0aa672551a8a68e16066f3dd3991f75da4.tar.gz
opensim-SC_OLD-efb5da0aa672551a8a68e16066f3dd3991f75da4.tar.bz2
opensim-SC_OLD-efb5da0aa672551a8a68e16066f3dd3991f75da4.tar.xz
BulletSim: add OutOfBounds logic and some position sanity checking
to eliminate some of the "cannot find terrain height" warning messages.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSParam.cs')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSParam.cs43
1 files changed, 28 insertions, 15 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
index c2a9671..dc57b67 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
@@ -46,6 +46,8 @@ public static class BSParam
46 public static float MeshMegaPrimThreshold { get; private set; } 46 public static float MeshMegaPrimThreshold { get; private set; }
47 public static float SculptLOD { get; private set; } 47 public static float SculptLOD { get; private set; }
48 48
49 public static int CrossingFailuresBeforeOutOfBounds { get; private set; }
50
49 public static float MinimumObjectMass { get; private set; } 51 public static float MinimumObjectMass { get; private set; }
50 public static float MaximumObjectMass { get; private set; } 52 public static float MaximumObjectMass { get; private set; }
51 public static float MaxLinearVelocity { get; private set; } 53 public static float MaxLinearVelocity { get; private set; }
@@ -73,23 +75,23 @@ public static class BSParam
73 public static float TerrainRestitution { get; private set; } 75 public static float TerrainRestitution { get; private set; }
74 public static float TerrainCollisionMargin { get; private set; } 76 public static float TerrainCollisionMargin { get; private set; }
75 77
76 public static float DefaultFriction; 78 public static float DefaultFriction { get; private set; }
77 public static float DefaultDensity; 79 public static float DefaultDensity { get; private set; }
78 public static float DefaultRestitution; 80 public static float DefaultRestitution { get; private set; }
79 public static float CollisionMargin; 81 public static float CollisionMargin { get; private set; }
80 public static float Gravity; 82 public static float Gravity { get; private set; }
81 83
82 // Physics Engine operation 84 // Physics Engine operation
83 public static float MaxPersistantManifoldPoolSize; 85 public static float MaxPersistantManifoldPoolSize { get; private set; }
84 public static float MaxCollisionAlgorithmPoolSize; 86 public static float MaxCollisionAlgorithmPoolSize { get; private set; }
85 public static bool ShouldDisableContactPoolDynamicAllocation; 87 public static bool ShouldDisableContactPoolDynamicAllocation { get; private set; }
86 public static bool ShouldForceUpdateAllAabbs; 88 public static bool ShouldForceUpdateAllAabbs { get; private set; }
87 public static bool ShouldRandomizeSolverOrder; 89 public static bool ShouldRandomizeSolverOrder { get; private set; }
88 public static bool ShouldSplitSimulationIslands; 90 public static bool ShouldSplitSimulationIslands { get; private set; }
89 public static bool ShouldEnableFrictionCaching; 91 public static bool ShouldEnableFrictionCaching { get; private set; }
90 public static float NumberOfSolverIterations; 92 public static float NumberOfSolverIterations { get; private set; }
91 public static bool UseSingleSidedMeshes; 93 public static bool UseSingleSidedMeshes { get; private set; }
92 public static float GlobalContactBreakingThreshold; 94 public static float GlobalContactBreakingThreshold { get; private set; }
93 95
94 // Avatar parameters 96 // Avatar parameters
95 public static float AvatarFriction { get; private set; } 97 public static float AvatarFriction { get; private set; }
@@ -118,6 +120,7 @@ public static class BSParam
118 public static float VehicleGroundGravityFudge { get; private set; } 120 public static float VehicleGroundGravityFudge { get; private set; }
119 public static bool VehicleDebuggingEnabled { get; private set; } 121 public static bool VehicleDebuggingEnabled { get; private set; }
120 122
123 // Linkset implementation parameters
121 public static float LinksetImplementation { get; private set; } 124 public static float LinksetImplementation { get; private set; }
122 public static bool LinkConstraintUseFrameOffset { get; private set; } 125 public static bool LinkConstraintUseFrameOffset { get; private set; }
123 public static bool LinkConstraintEnableTransMotor { get; private set; } 126 public static bool LinkConstraintEnableTransMotor { get; private set; }
@@ -282,6 +285,11 @@ public static class BSParam
282 (s) => { return ShouldRemoveZeroWidthTriangles; }, 285 (s) => { return ShouldRemoveZeroWidthTriangles; },
283 (s,v) => { ShouldRemoveZeroWidthTriangles = v; } ), 286 (s,v) => { ShouldRemoveZeroWidthTriangles = v; } ),
284 287
288 new ParameterDefn<int>("CrossingFailuresBeforeOutOfBounds", "How forgiving we are about getting into adjactent regions",
289 5,
290 (s) => { return CrossingFailuresBeforeOutOfBounds; },
291 (s,v) => { CrossingFailuresBeforeOutOfBounds = v; } ),
292
285 new ParameterDefn<float>("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", 293 new ParameterDefn<float>("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)",
286 32f, 294 32f,
287 (s) => { return MeshLOD; }, 295 (s) => { return MeshLOD; },
@@ -695,6 +703,10 @@ public static class BSParam
695 } 703 }
696 } 704 }
697 705
706 // =====================================================================
707 // =====================================================================
708 // There are parameters that, when set, cause things to happen in the physics engine.
709 // This causes the broadphase collision cache to be cleared.
698 private static void ResetBroadphasePoolTainted(BSScene pPhysScene, float v) 710 private static void ResetBroadphasePoolTainted(BSScene pPhysScene, float v)
699 { 711 {
700 BSScene physScene = pPhysScene; 712 BSScene physScene = pPhysScene;
@@ -704,6 +716,7 @@ public static class BSParam
704 }); 716 });
705 } 717 }
706 718
719 // This causes the constraint solver cache to be cleared and reset.
707 private static void ResetConstraintSolverTainted(BSScene pPhysScene, float v) 720 private static void ResetConstraintSolverTainted(BSScene pPhysScene, float v)
708 { 721 {
709 BSScene physScene = pPhysScene; 722 BSScene physScene = pPhysScene;