aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
diff options
context:
space:
mode:
authorRobert Adams2013-04-09 16:32:54 -0700
committerRobert Adams2013-04-09 18:00:23 -0700
commit59135c9a31875dc514b3ea2fe14021571807701d (patch)
treee24604d69e80335801bf2649735c1280d53bea61 /OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
parentBulletSim: fix problem where large sets of mega-regions weren't registering (diff)
downloadopensim-SC_OLD-59135c9a31875dc514b3ea2fe14021571807701d.zip
opensim-SC_OLD-59135c9a31875dc514b3ea2fe14021571807701d.tar.gz
opensim-SC_OLD-59135c9a31875dc514b3ea2fe14021571807701d.tar.bz2
opensim-SC_OLD-59135c9a31875dc514b3ea2fe14021571807701d.tar.xz
BulletSim: add Bullet HACD library invocation. Turned off by default as not
totally debugged. Updated DLLs and SOs with more debugged HACD library code.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSParam.cs')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSParam.cs53
1 files changed, 52 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
index 385ed9e..06df85e 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs
@@ -86,6 +86,7 @@ public static class BSParam
86 public static bool ShouldForceSimplePrimMeshing { get; private set; } // if a cube or sphere, let Bullet do internal shapes 86 public static bool ShouldForceSimplePrimMeshing { get; private set; } // if a cube or sphere, let Bullet do internal shapes
87 public static bool ShouldUseHullsForPhysicalObjects { get; private set; } // 'true' if should create hulls for physical objects 87 public static bool ShouldUseHullsForPhysicalObjects { get; private set; } // 'true' if should create hulls for physical objects
88 public static bool ShouldRemoveZeroWidthTriangles { get; private set; } 88 public static bool ShouldRemoveZeroWidthTriangles { get; private set; }
89 public static bool ShouldUseBulletHACD { get; set; }
89 90
90 public static float TerrainImplementation { get; private set; } 91 public static float TerrainImplementation { get; private set; }
91 public static int TerrainMeshMagnification { get; private set; } 92 public static int TerrainMeshMagnification { get; private set; }
@@ -149,6 +150,15 @@ public static class BSParam
149 public static float CSHullVolumeConservationThresholdPercent { get; private set; } 150 public static float CSHullVolumeConservationThresholdPercent { get; private set; }
150 public static int CSHullMaxVertices { get; private set; } 151 public static int CSHullMaxVertices { get; private set; }
151 public static float CSHullMaxSkinWidth { get; private set; } 152 public static float CSHullMaxSkinWidth { get; private set; }
153 public static float BHullMaxVerticesPerHull { get; private set; } // 100
154 public static float BHullMinClusters { get; private set; } // 2
155 public static float BHullCompacityWeight { get; private set; } // 0.1
156 public static float BHullVolumeWeight { get; private set; } // 0.0
157 public static float BHullConcavity { get; private set; } // 100
158 public static bool BHullAddExtraDistPoints { get; private set; } // false
159 public static bool BHullAddNeighboursDistPoints { get; private set; } // false
160 public static bool BHullAddFacesPoints { get; private set; } // false
161 public static bool BHullShouldAdjustCollisionMargin { get; private set; } // false
152 162
153 // Linkset implementation parameters 163 // Linkset implementation parameters
154 public static float LinksetImplementation { get; private set; } 164 public static float LinksetImplementation { get; private set; }
@@ -325,6 +335,10 @@ public static class BSParam
325 true, 335 true,
326 (s) => { return ShouldRemoveZeroWidthTriangles; }, 336 (s) => { return ShouldRemoveZeroWidthTriangles; },
327 (s,v) => { ShouldRemoveZeroWidthTriangles = v; } ), 337 (s,v) => { ShouldRemoveZeroWidthTriangles = v; } ),
338 new ParameterDefn<bool>("ShouldUseBulletHACD", "If true, use the Bullet version of HACD",
339 false,
340 (s) => { return ShouldUseBulletHACD; },
341 (s,v) => { ShouldUseBulletHACD = v; } ),
328 342
329 new ParameterDefn<int>("CrossingFailuresBeforeOutOfBounds", "How forgiving we are about getting into adjactent regions", 343 new ParameterDefn<int>("CrossingFailuresBeforeOutOfBounds", "How forgiving we are about getting into adjactent regions",
330 5, 344 5,
@@ -663,10 +677,47 @@ public static class BSParam
663 (s) => { return CSHullMaxVertices; }, 677 (s) => { return CSHullMaxVertices; },
664 (s,v) => { CSHullMaxVertices = v; } ), 678 (s,v) => { CSHullMaxVertices = v; } ),
665 new ParameterDefn<float>("CSHullMaxSkinWidth", "CS impl: skin width to apply to output hulls.", 679 new ParameterDefn<float>("CSHullMaxSkinWidth", "CS impl: skin width to apply to output hulls.",
666 0, 680 0f,
667 (s) => { return CSHullMaxSkinWidth; }, 681 (s) => { return CSHullMaxSkinWidth; },
668 (s,v) => { CSHullMaxSkinWidth = v; } ), 682 (s,v) => { CSHullMaxSkinWidth = v; } ),
669 683
684 new ParameterDefn<float>("BHullMaxVerticesPerHull", "Bullet impl: max number of vertices per created hull",
685 100f,
686 (s) => { return BHullMaxVerticesPerHull; },
687 (s,v) => { BHullMaxVerticesPerHull = v; } ),
688 new ParameterDefn<float>("BHullMinClusters", "Bullet impl: minimum number of hulls to create per mesh",
689 2f,
690 (s) => { return BHullMinClusters; },
691 (s,v) => { BHullMinClusters = v; } ),
692 new ParameterDefn<float>("BHullCompacityWeight", "Bullet impl: weight factor for how compact to make hulls",
693 2f,
694 (s) => { return BHullCompacityWeight; },
695 (s,v) => { BHullCompacityWeight = v; } ),
696 new ParameterDefn<float>("BHullVolumeWeight", "Bullet impl: weight factor for volume in created hull",
697 0.1f,
698 (s) => { return BHullVolumeWeight; },
699 (s,v) => { BHullVolumeWeight = v; } ),
700 new ParameterDefn<float>("BHullConcavity", "Bullet impl: weight factor for how convex a created hull can be",
701 100f,
702 (s) => { return BHullConcavity; },
703 (s,v) => { BHullConcavity = v; } ),
704 new ParameterDefn<bool>("BHullAddExtraDistPoints", "Bullet impl: whether to add extra vertices for long distance vectors",
705 false,
706 (s) => { return BHullAddExtraDistPoints; },
707 (s,v) => { BHullAddExtraDistPoints = v; } ),
708 new ParameterDefn<bool>("BHullAddNeighboursDistPoints", "Bullet impl: whether to add extra vertices between neighbor hulls",
709 false,
710 (s) => { return BHullAddNeighboursDistPoints; },
711 (s,v) => { BHullAddNeighboursDistPoints = v; } ),
712 new ParameterDefn<bool>("BHullAddFacesPoints", "Bullet impl: whether to add extra vertices to break up hull faces",
713 false,
714 (s) => { return BHullAddFacesPoints; },
715 (s,v) => { BHullAddFacesPoints = v; } ),
716 new ParameterDefn<bool>("BHullShouldAdjustCollisionMargin", "Bullet impl: whether to shrink resulting hulls to account for collision margin",
717 false,
718 (s) => { return BHullShouldAdjustCollisionMargin; },
719 (s,v) => { BHullShouldAdjustCollisionMargin = v; } ),
720
670 new ParameterDefn<float>("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", 721 new ParameterDefn<float>("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)",
671 (float)BSLinkset.LinksetImplementation.Compound, 722 (float)BSLinkset.LinksetImplementation.Compound,
672 (s) => { return LinksetImplementation; }, 723 (s) => { return LinksetImplementation; },