diff options
author | Robert Adams | 2013-04-09 16:32:54 -0700 |
---|---|---|
committer | Robert Adams | 2013-04-09 18:00:23 -0700 |
commit | 59135c9a31875dc514b3ea2fe14021571807701d (patch) | |
tree | e24604d69e80335801bf2649735c1280d53bea61 /OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | |
parent | BulletSim: fix problem where large sets of mega-regions weren't registering (diff) | |
download | opensim-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-x | OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 53 |
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; }, |