diff options
author | Melanie Thielker | 2017-01-05 19:07:37 +0000 |
---|---|---|
committer | Melanie Thielker | 2017-01-05 19:07:37 +0000 |
commit | b16abc8166c29585cb76cc55c3bdd76e5833cb4f (patch) | |
tree | 6a34f465a74b7a3a6dc00a3d7aa8dcc25ac3e3a5 /OpenSim/Region/PhysicsModules/BulletS/BSParam.cs | |
parent | Make it possible to disable the bakes module in the way it is described in co... (diff) | |
download | opensim-SC_OLD-b16abc8166c29585cb76cc55c3bdd76e5833cb4f.zip opensim-SC_OLD-b16abc8166c29585cb76cc55c3bdd76e5833cb4f.tar.gz opensim-SC_OLD-b16abc8166c29585cb76cc55c3bdd76e5833cb4f.tar.bz2 opensim-SC_OLD-b16abc8166c29585cb76cc55c3bdd76e5833cb4f.tar.xz |
Massive tab and trailing space cleanup
Diffstat (limited to 'OpenSim/Region/PhysicsModules/BulletS/BSParam.cs')
-rwxr-xr-x | OpenSim/Region/PhysicsModules/BulletS/BSParam.cs | 210 |
1 files changed, 105 insertions, 105 deletions
diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs b/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs index 28df2d9..352c03e 100755 --- a/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs | |||
@@ -90,8 +90,8 @@ public static class BSParam | |||
90 | public static float DeactivationTime { get; private set; } | 90 | public static float DeactivationTime { get; private set; } |
91 | public static float LinearSleepingThreshold { get; private set; } | 91 | public static float LinearSleepingThreshold { get; private set; } |
92 | public static float AngularSleepingThreshold { get; private set; } | 92 | public static float AngularSleepingThreshold { get; private set; } |
93 | public static float CcdMotionThreshold { get; private set; } | 93 | public static float CcdMotionThreshold { get; private set; } |
94 | public static float CcdSweptSphereRadius { get; private set; } | 94 | public static float CcdSweptSphereRadius { get; private set; } |
95 | public static float ContactProcessingThreshold { get; private set; } | 95 | public static float ContactProcessingThreshold { get; private set; } |
96 | 96 | ||
97 | public static bool ShouldMeshSculptedPrim { get; private set; } // cause scuplted prims to get meshed | 97 | public static bool ShouldMeshSculptedPrim { get; private set; } // cause scuplted prims to get meshed |
@@ -119,14 +119,14 @@ public static class BSParam | |||
119 | public static float Gravity { get; private set; } | 119 | public static float Gravity { get; private set; } |
120 | 120 | ||
121 | // Physics Engine operation | 121 | // Physics Engine operation |
122 | public static float MaxPersistantManifoldPoolSize { get; private set; } | 122 | public static float MaxPersistantManifoldPoolSize { get; private set; } |
123 | public static float MaxCollisionAlgorithmPoolSize { get; private set; } | 123 | public static float MaxCollisionAlgorithmPoolSize { get; private set; } |
124 | public static bool ShouldDisableContactPoolDynamicAllocation { get; private set; } | 124 | public static bool ShouldDisableContactPoolDynamicAllocation { get; private set; } |
125 | public static bool ShouldForceUpdateAllAabbs { get; private set; } | 125 | public static bool ShouldForceUpdateAllAabbs { get; private set; } |
126 | public static bool ShouldRandomizeSolverOrder { get; private set; } | 126 | public static bool ShouldRandomizeSolverOrder { get; private set; } |
127 | public static bool ShouldSplitSimulationIslands { get; private set; } | 127 | public static bool ShouldSplitSimulationIslands { get; private set; } |
128 | public static bool ShouldEnableFrictionCaching { get; private set; } | 128 | public static bool ShouldEnableFrictionCaching { get; private set; } |
129 | public static float NumberOfSolverIterations { get; private set; } | 129 | public static float NumberOfSolverIterations { get; private set; } |
130 | public static bool UseSingleSidedMeshes { get; private set; } | 130 | public static bool UseSingleSidedMeshes { get; private set; } |
131 | public static float GlobalContactBreakingThreshold { get; private set; } | 131 | public static float GlobalContactBreakingThreshold { get; private set; } |
132 | public static float PhysicsUnmanLoggingFrames { get; private set; } | 132 | public static float PhysicsUnmanLoggingFrames { get; private set; } |
@@ -149,19 +149,19 @@ public static class BSParam | |||
149 | public static float AvatarFlyingGroundMargin { get; private set; } | 149 | public static float AvatarFlyingGroundMargin { get; private set; } |
150 | public static float AvatarFlyingGroundUpForce { get; private set; } | 150 | public static float AvatarFlyingGroundUpForce { get; private set; } |
151 | public static float AvatarTerminalVelocity { get; private set; } | 151 | public static float AvatarTerminalVelocity { get; private set; } |
152 | public static float AvatarContactProcessingThreshold { get; private set; } | 152 | public static float AvatarContactProcessingThreshold { get; private set; } |
153 | public static float AvatarAddForcePushFactor { get; private set; } | 153 | public static float AvatarAddForcePushFactor { get; private set; } |
154 | public static float AvatarStopZeroThreshold { get; private set; } | 154 | public static float AvatarStopZeroThreshold { get; private set; } |
155 | public static float AvatarStopZeroThresholdSquared { get; private set; } | 155 | public static float AvatarStopZeroThresholdSquared { get; private set; } |
156 | public static int AvatarJumpFrames { get; private set; } | 156 | public static int AvatarJumpFrames { get; private set; } |
157 | public static float AvatarBelowGroundUpCorrectionMeters { get; private set; } | 157 | public static float AvatarBelowGroundUpCorrectionMeters { get; private set; } |
158 | public static float AvatarStepHeight { get; private set; } | 158 | public static float AvatarStepHeight { get; private set; } |
159 | public static float AvatarStepAngle { get; private set; } | 159 | public static float AvatarStepAngle { get; private set; } |
160 | public static float AvatarStepGroundFudge { get; private set; } | 160 | public static float AvatarStepGroundFudge { get; private set; } |
161 | public static float AvatarStepApproachFactor { get; private set; } | 161 | public static float AvatarStepApproachFactor { get; private set; } |
162 | public static float AvatarStepForceFactor { get; private set; } | 162 | public static float AvatarStepForceFactor { get; private set; } |
163 | public static float AvatarStepUpCorrectionFactor { get; private set; } | 163 | public static float AvatarStepUpCorrectionFactor { get; private set; } |
164 | public static int AvatarStepSmoothingSteps { get; private set; } | 164 | public static int AvatarStepSmoothingSteps { get; private set; } |
165 | 165 | ||
166 | // Vehicle parameters | 166 | // Vehicle parameters |
167 | public static float VehicleMaxLinearVelocity { get; private set; } | 167 | public static float VehicleMaxLinearVelocity { get; private set; } |
@@ -193,31 +193,31 @@ public static class BSParam | |||
193 | public static float CSHullVolumeConservationThresholdPercent { get; private set; } | 193 | public static float CSHullVolumeConservationThresholdPercent { get; private set; } |
194 | public static int CSHullMaxVertices { get; private set; } | 194 | public static int CSHullMaxVertices { get; private set; } |
195 | public static float CSHullMaxSkinWidth { get; private set; } | 195 | public static float CSHullMaxSkinWidth { get; private set; } |
196 | public static float BHullMaxVerticesPerHull { get; private set; } // 100 | 196 | public static float BHullMaxVerticesPerHull { get; private set; } // 100 |
197 | public static float BHullMinClusters { get; private set; } // 2 | 197 | public static float BHullMinClusters { get; private set; } // 2 |
198 | public static float BHullCompacityWeight { get; private set; } // 0.1 | 198 | public static float BHullCompacityWeight { get; private set; } // 0.1 |
199 | public static float BHullVolumeWeight { get; private set; } // 0.0 | 199 | public static float BHullVolumeWeight { get; private set; } // 0.0 |
200 | public static float BHullConcavity { get; private set; } // 100 | 200 | public static float BHullConcavity { get; private set; } // 100 |
201 | public static bool BHullAddExtraDistPoints { get; private set; } // false | 201 | public static bool BHullAddExtraDistPoints { get; private set; } // false |
202 | public static bool BHullAddNeighboursDistPoints { get; private set; } // false | 202 | public static bool BHullAddNeighboursDistPoints { get; private set; } // false |
203 | public static bool BHullAddFacesPoints { get; private set; } // false | 203 | public static bool BHullAddFacesPoints { get; private set; } // false |
204 | public static bool BHullShouldAdjustCollisionMargin { get; private set; } // false | 204 | public static bool BHullShouldAdjustCollisionMargin { get; private set; } // false |
205 | public static float WhichHACD { get; private set; } // zero if Bullet HACD, non-zero says VHACD | 205 | public static float WhichHACD { get; private set; } // zero if Bullet HACD, non-zero says VHACD |
206 | // Parameters for VHACD 2.0: http://code.google.com/p/v-hacd | 206 | // Parameters for VHACD 2.0: http://code.google.com/p/v-hacd |
207 | // To enable, set both ShouldUseBulletHACD=true and WhichHACD=1 | 207 | // To enable, set both ShouldUseBulletHACD=true and WhichHACD=1 |
208 | // http://kmamou.blogspot.ca/2014/12/v-hacd-20-parameters-description.html | 208 | // http://kmamou.blogspot.ca/2014/12/v-hacd-20-parameters-description.html |
209 | public static float VHACDresolution { get; private set; } // 100,000 max number of voxels generated during voxelization stage | 209 | public static float VHACDresolution { get; private set; } // 100,000 max number of voxels generated during voxelization stage |
210 | public static float VHACDdepth { get; private set; } // 20 max number of clipping stages | 210 | public static float VHACDdepth { get; private set; } // 20 max number of clipping stages |
211 | public static float VHACDconcavity { get; private set; } // 0.0025 maximum concavity | 211 | public static float VHACDconcavity { get; private set; } // 0.0025 maximum concavity |
212 | public static float VHACDplaneDownsampling { get; private set; } // 4 granularity of search for best clipping plane | 212 | public static float VHACDplaneDownsampling { get; private set; } // 4 granularity of search for best clipping plane |
213 | public static float VHACDconvexHullDownsampling { get; private set; } // 4 precision of hull gen process | 213 | public static float VHACDconvexHullDownsampling { get; private set; } // 4 precision of hull gen process |
214 | public static float VHACDalpha { get; private set; } // 0.05 bias toward clipping along symmetry planes | 214 | public static float VHACDalpha { get; private set; } // 0.05 bias toward clipping along symmetry planes |
215 | public static float VHACDbeta { get; private set; } // 0.05 bias toward clipping along revolution axis | 215 | public static float VHACDbeta { get; private set; } // 0.05 bias toward clipping along revolution axis |
216 | public static float VHACDgamma { get; private set; } // 0.00125 max concavity when merging | 216 | public static float VHACDgamma { get; private set; } // 0.00125 max concavity when merging |
217 | public static float VHACDpca { get; private set; } // 0 on/off normalizing mesh before decomp | 217 | public static float VHACDpca { get; private set; } // 0 on/off normalizing mesh before decomp |
218 | public static float VHACDmode { get; private set; } // 0 0:voxel based, 1: tetrahedron based | 218 | public static float VHACDmode { get; private set; } // 0 0:voxel based, 1: tetrahedron based |
219 | public static float VHACDmaxNumVerticesPerCH { get; private set; } // 64 max triangles per convex hull | 219 | public static float VHACDmaxNumVerticesPerCH { get; private set; } // 64 max triangles per convex hull |
220 | public static float VHACDminVolumePerCH { get; private set; } // 0.0001 sampling of generated convex hulls | 220 | public static float VHACDminVolumePerCH { get; private set; } // 0.0001 sampling of generated convex hulls |
221 | 221 | ||
222 | // Linkset implementation parameters | 222 | // Linkset implementation parameters |
223 | public static float LinksetImplementation { get; private set; } | 223 | public static float LinksetImplementation { get; private set; } |
@@ -579,7 +579,7 @@ public static class BSParam | |||
579 | (s,v) => { ContactProcessingThreshold = v;}, | 579 | (s,v) => { ContactProcessingThreshold = v;}, |
580 | (s,o) => { s.PE.SetContactProcessingThreshold(o.PhysBody, ContactProcessingThreshold); } ), | 580 | (s,o) => { s.PE.SetContactProcessingThreshold(o.PhysBody, ContactProcessingThreshold); } ), |
581 | 581 | ||
582 | new ParameterDefn<float>("TerrainImplementation", "Type of shape to use for terrain (0=heightmap, 1=mesh)", | 582 | new ParameterDefn<float>("TerrainImplementation", "Type of shape to use for terrain (0=heightmap, 1=mesh)", |
583 | (float)BSTerrainPhys.TerrainImplementation.Heightmap ), | 583 | (float)BSTerrainPhys.TerrainImplementation.Heightmap ), |
584 | new ParameterDefn<int>("TerrainMeshMagnification", "Number of times the 256x256 heightmap is multiplied to create the terrain mesh" , | 584 | new ParameterDefn<int>("TerrainMeshMagnification", "Number of times the 256x256 heightmap is multiplied to create the terrain mesh" , |
585 | 2 ), | 585 | 2 ), |
@@ -631,31 +631,31 @@ public static class BSParam | |||
631 | 2.0f ), | 631 | 2.0f ), |
632 | new ParameterDefn<float>("AvatarTerminalVelocity", "Terminal Velocity of falling avatar", | 632 | new ParameterDefn<float>("AvatarTerminalVelocity", "Terminal Velocity of falling avatar", |
633 | -54.0f ), | 633 | -54.0f ), |
634 | new ParameterDefn<float>("AvatarContactProcessingThreshold", "Distance from capsule to check for collisions", | 634 | new ParameterDefn<float>("AvatarContactProcessingThreshold", "Distance from capsule to check for collisions", |
635 | 0.1f ), | 635 | 0.1f ), |
636 | new ParameterDefn<float>("AvatarAddForcePushFactor", "BSCharacter.AddForce is multiplied by this and mass to be like other physics engines", | 636 | new ParameterDefn<float>("AvatarAddForcePushFactor", "BSCharacter.AddForce is multiplied by this and mass to be like other physics engines", |
637 | 0.315f ), | 637 | 0.315f ), |
638 | new ParameterDefn<float>("AvatarStopZeroThreshold", "Movement velocity below which avatar is assumed to be stopped", | 638 | new ParameterDefn<float>("AvatarStopZeroThreshold", "Movement velocity below which avatar is assumed to be stopped", |
639 | 0.45f, | 639 | 0.45f, |
640 | (s) => { return (float)AvatarStopZeroThreshold; }, | 640 | (s) => { return (float)AvatarStopZeroThreshold; }, |
641 | (s,v) => { AvatarStopZeroThreshold = v; AvatarStopZeroThresholdSquared = v * v; } ), | 641 | (s,v) => { AvatarStopZeroThreshold = v; AvatarStopZeroThresholdSquared = v * v; } ), |
642 | new ParameterDefn<float>("AvatarBelowGroundUpCorrectionMeters", "Meters to move avatar up if it seems to be below ground", | 642 | new ParameterDefn<float>("AvatarBelowGroundUpCorrectionMeters", "Meters to move avatar up if it seems to be below ground", |
643 | 1.0f ), | 643 | 1.0f ), |
644 | new ParameterDefn<int>("AvatarJumpFrames", "Number of frames to allow jump forces. Changes jump height.", | 644 | new ParameterDefn<int>("AvatarJumpFrames", "Number of frames to allow jump forces. Changes jump height.", |
645 | 4 ), | 645 | 4 ), |
646 | new ParameterDefn<float>("AvatarStepHeight", "Height of a step obstacle to consider step correction", | 646 | new ParameterDefn<float>("AvatarStepHeight", "Height of a step obstacle to consider step correction", |
647 | 0.999f ) , | 647 | 0.999f ) , |
648 | new ParameterDefn<float>("AvatarStepAngle", "The angle (in radians) for a vertical surface to be considered a step", | 648 | new ParameterDefn<float>("AvatarStepAngle", "The angle (in radians) for a vertical surface to be considered a step", |
649 | 0.3f ) , | 649 | 0.3f ) , |
650 | new ParameterDefn<float>("AvatarStepGroundFudge", "Fudge factor subtracted from avatar base when comparing collision height", | 650 | new ParameterDefn<float>("AvatarStepGroundFudge", "Fudge factor subtracted from avatar base when comparing collision height", |
651 | 0.1f ) , | 651 | 0.1f ) , |
652 | new ParameterDefn<float>("AvatarStepApproachFactor", "Factor to control angle of approach to step (0=straight on)", | 652 | new ParameterDefn<float>("AvatarStepApproachFactor", "Factor to control angle of approach to step (0=straight on)", |
653 | 2f ), | 653 | 2f ), |
654 | new ParameterDefn<float>("AvatarStepForceFactor", "Controls the amount of force up applied to step up onto a step", | 654 | new ParameterDefn<float>("AvatarStepForceFactor", "Controls the amount of force up applied to step up onto a step", |
655 | 0f ), | 655 | 0f ), |
656 | new ParameterDefn<float>("AvatarStepUpCorrectionFactor", "Multiplied by height of step collision to create up movement at step", | 656 | new ParameterDefn<float>("AvatarStepUpCorrectionFactor", "Multiplied by height of step collision to create up movement at step", |
657 | 0.8f ), | 657 | 0.8f ), |
658 | new ParameterDefn<int>("AvatarStepSmoothingSteps", "Number of frames after a step collision that we continue walking up stairs", | 658 | new ParameterDefn<int>("AvatarStepSmoothingSteps", "Number of frames after a step collision that we continue walking up stairs", |
659 | 1 ), | 659 | 1 ), |
660 | 660 | ||
661 | new ParameterDefn<float>("VehicleMaxLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle", | 661 | new ParameterDefn<float>("VehicleMaxLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle", |
@@ -699,131 +699,131 @@ public static class BSParam | |||
699 | new ParameterDefn<bool>("VehicleEnableAngularBanking", "Turn on/off vehicle angular banking effect", | 699 | new ParameterDefn<bool>("VehicleEnableAngularBanking", "Turn on/off vehicle angular banking effect", |
700 | true ), | 700 | true ), |
701 | 701 | ||
702 | new ParameterDefn<float>("MaxPersistantManifoldPoolSize", "Number of manifolds pooled (0 means default of 4096)", | 702 | new ParameterDefn<float>("MaxPersistantManifoldPoolSize", "Number of manifolds pooled (0 means default of 4096)", |
703 | 0f, | 703 | 0f, |
704 | (s) => { return MaxPersistantManifoldPoolSize; }, | 704 | (s) => { return MaxPersistantManifoldPoolSize; }, |
705 | (s,v) => { MaxPersistantManifoldPoolSize = v; s.UnmanagedParams[0].maxPersistantManifoldPoolSize = v; } ), | 705 | (s,v) => { MaxPersistantManifoldPoolSize = v; s.UnmanagedParams[0].maxPersistantManifoldPoolSize = v; } ), |
706 | new ParameterDefn<float>("MaxCollisionAlgorithmPoolSize", "Number of collisions pooled (0 means default of 4096)", | 706 | new ParameterDefn<float>("MaxCollisionAlgorithmPoolSize", "Number of collisions pooled (0 means default of 4096)", |
707 | 0f, | 707 | 0f, |
708 | (s) => { return MaxCollisionAlgorithmPoolSize; }, | 708 | (s) => { return MaxCollisionAlgorithmPoolSize; }, |
709 | (s,v) => { MaxCollisionAlgorithmPoolSize = v; s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = v; } ), | 709 | (s,v) => { MaxCollisionAlgorithmPoolSize = v; s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = v; } ), |
710 | new ParameterDefn<bool>("ShouldDisableContactPoolDynamicAllocation", "Enable to allow large changes in object count", | 710 | new ParameterDefn<bool>("ShouldDisableContactPoolDynamicAllocation", "Enable to allow large changes in object count", |
711 | false, | 711 | false, |
712 | (s) => { return ShouldDisableContactPoolDynamicAllocation; }, | 712 | (s) => { return ShouldDisableContactPoolDynamicAllocation; }, |
713 | (s,v) => { ShouldDisableContactPoolDynamicAllocation = v; | 713 | (s,v) => { ShouldDisableContactPoolDynamicAllocation = v; |
714 | s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = NumericBool(v); } ), | 714 | s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = NumericBool(v); } ), |
715 | new ParameterDefn<bool>("ShouldForceUpdateAllAabbs", "Enable to recomputer AABBs every simulator step", | 715 | new ParameterDefn<bool>("ShouldForceUpdateAllAabbs", "Enable to recomputer AABBs every simulator step", |
716 | false, | 716 | false, |
717 | (s) => { return ShouldForceUpdateAllAabbs; }, | 717 | (s) => { return ShouldForceUpdateAllAabbs; }, |
718 | (s,v) => { ShouldForceUpdateAllAabbs = v; s.UnmanagedParams[0].shouldForceUpdateAllAabbs = NumericBool(v); } ), | 718 | (s,v) => { ShouldForceUpdateAllAabbs = v; s.UnmanagedParams[0].shouldForceUpdateAllAabbs = NumericBool(v); } ), |
719 | new ParameterDefn<bool>("ShouldRandomizeSolverOrder", "Enable for slightly better stacking interaction", | 719 | new ParameterDefn<bool>("ShouldRandomizeSolverOrder", "Enable for slightly better stacking interaction", |
720 | true, | 720 | true, |
721 | (s) => { return ShouldRandomizeSolverOrder; }, | 721 | (s) => { return ShouldRandomizeSolverOrder; }, |
722 | (s,v) => { ShouldRandomizeSolverOrder = v; s.UnmanagedParams[0].shouldRandomizeSolverOrder = NumericBool(v); } ), | 722 | (s,v) => { ShouldRandomizeSolverOrder = v; s.UnmanagedParams[0].shouldRandomizeSolverOrder = NumericBool(v); } ), |
723 | new ParameterDefn<bool>("ShouldSplitSimulationIslands", "Enable splitting active object scanning islands", | 723 | new ParameterDefn<bool>("ShouldSplitSimulationIslands", "Enable splitting active object scanning islands", |
724 | true, | 724 | true, |
725 | (s) => { return ShouldSplitSimulationIslands; }, | 725 | (s) => { return ShouldSplitSimulationIslands; }, |
726 | (s,v) => { ShouldSplitSimulationIslands = v; s.UnmanagedParams[0].shouldSplitSimulationIslands = NumericBool(v); } ), | 726 | (s,v) => { ShouldSplitSimulationIslands = v; s.UnmanagedParams[0].shouldSplitSimulationIslands = NumericBool(v); } ), |
727 | new ParameterDefn<bool>("ShouldEnableFrictionCaching", "Enable friction computation caching", | 727 | new ParameterDefn<bool>("ShouldEnableFrictionCaching", "Enable friction computation caching", |
728 | true, | 728 | true, |
729 | (s) => { return ShouldEnableFrictionCaching; }, | 729 | (s) => { return ShouldEnableFrictionCaching; }, |
730 | (s,v) => { ShouldEnableFrictionCaching = v; s.UnmanagedParams[0].shouldEnableFrictionCaching = NumericBool(v); } ), | 730 | (s,v) => { ShouldEnableFrictionCaching = v; s.UnmanagedParams[0].shouldEnableFrictionCaching = NumericBool(v); } ), |
731 | new ParameterDefn<float>("NumberOfSolverIterations", "Number of internal iterations (0 means default)", | 731 | new ParameterDefn<float>("NumberOfSolverIterations", "Number of internal iterations (0 means default)", |
732 | 0f, // zero says use Bullet default | 732 | 0f, // zero says use Bullet default |
733 | (s) => { return NumberOfSolverIterations; }, | 733 | (s) => { return NumberOfSolverIterations; }, |
734 | (s,v) => { NumberOfSolverIterations = v; s.UnmanagedParams[0].numberOfSolverIterations = v; } ), | 734 | (s,v) => { NumberOfSolverIterations = v; s.UnmanagedParams[0].numberOfSolverIterations = v; } ), |
735 | new ParameterDefn<bool>("UseSingleSidedMeshes", "Whether to compute collisions based on single sided meshes.", | 735 | new ParameterDefn<bool>("UseSingleSidedMeshes", "Whether to compute collisions based on single sided meshes.", |
736 | true, | 736 | true, |
737 | (s) => { return UseSingleSidedMeshes; }, | 737 | (s) => { return UseSingleSidedMeshes; }, |
738 | (s,v) => { UseSingleSidedMeshes = v; s.UnmanagedParams[0].useSingleSidedMeshes = NumericBool(v); } ), | 738 | (s,v) => { UseSingleSidedMeshes = v; s.UnmanagedParams[0].useSingleSidedMeshes = NumericBool(v); } ), |
739 | new ParameterDefn<float>("GlobalContactBreakingThreshold", "Amount of shape radius before breaking a collision contact (0 says Bullet default (0.2))", | 739 | new ParameterDefn<float>("GlobalContactBreakingThreshold", "Amount of shape radius before breaking a collision contact (0 says Bullet default (0.2))", |
740 | 0f, | 740 | 0f, |
741 | (s) => { return GlobalContactBreakingThreshold; }, | 741 | (s) => { return GlobalContactBreakingThreshold; }, |
742 | (s,v) => { GlobalContactBreakingThreshold = v; s.UnmanagedParams[0].globalContactBreakingThreshold = v; } ), | 742 | (s,v) => { GlobalContactBreakingThreshold = v; s.UnmanagedParams[0].globalContactBreakingThreshold = v; } ), |
743 | new ParameterDefn<float>("PhysicsUnmanLoggingFrames", "If non-zero, frames between output of detailed unmanaged physics statistics", | 743 | new ParameterDefn<float>("PhysicsUnmanLoggingFrames", "If non-zero, frames between output of detailed unmanaged physics statistics", |
744 | 0f, | 744 | 0f, |
745 | (s) => { return PhysicsUnmanLoggingFrames; }, | 745 | (s) => { return PhysicsUnmanLoggingFrames; }, |
746 | (s,v) => { PhysicsUnmanLoggingFrames = v; s.UnmanagedParams[0].physicsLoggingFrames = v; } ), | 746 | (s,v) => { PhysicsUnmanLoggingFrames = v; s.UnmanagedParams[0].physicsLoggingFrames = v; } ), |
747 | 747 | ||
748 | new ParameterDefn<int>("CSHullMaxDepthSplit", "CS impl: max depth to split for hull. 1-10 but > 7 is iffy", | 748 | new ParameterDefn<int>("CSHullMaxDepthSplit", "CS impl: max depth to split for hull. 1-10 but > 7 is iffy", |
749 | 7 ), | 749 | 7 ), |
750 | new ParameterDefn<int>("CSHullMaxDepthSplitForSimpleShapes", "CS impl: max depth setting for simple prim shapes", | 750 | new ParameterDefn<int>("CSHullMaxDepthSplitForSimpleShapes", "CS impl: max depth setting for simple prim shapes", |
751 | 2 ), | 751 | 2 ), |
752 | new ParameterDefn<float>("CSHullConcavityThresholdPercent", "CS impl: concavity threshold percent (0-20)", | 752 | new ParameterDefn<float>("CSHullConcavityThresholdPercent", "CS impl: concavity threshold percent (0-20)", |
753 | 5f ), | 753 | 5f ), |
754 | new ParameterDefn<float>("CSHullVolumeConservationThresholdPercent", "percent volume conservation to collapse hulls (0-30)", | 754 | new ParameterDefn<float>("CSHullVolumeConservationThresholdPercent", "percent volume conservation to collapse hulls (0-30)", |
755 | 5f ), | 755 | 5f ), |
756 | new ParameterDefn<int>("CSHullMaxVertices", "CS impl: maximum number of vertices in output hulls. Keep < 50.", | 756 | new ParameterDefn<int>("CSHullMaxVertices", "CS impl: maximum number of vertices in output hulls. Keep < 50.", |
757 | 32 ), | 757 | 32 ), |
758 | new ParameterDefn<float>("CSHullMaxSkinWidth", "CS impl: skin width to apply to output hulls.", | 758 | new ParameterDefn<float>("CSHullMaxSkinWidth", "CS impl: skin width to apply to output hulls.", |
759 | 0f ), | 759 | 0f ), |
760 | 760 | ||
761 | new ParameterDefn<float>("BHullMaxVerticesPerHull", "Bullet impl: max number of vertices per created hull", | 761 | new ParameterDefn<float>("BHullMaxVerticesPerHull", "Bullet impl: max number of vertices per created hull", |
762 | 200f ), | 762 | 200f ), |
763 | new ParameterDefn<float>("BHullMinClusters", "Bullet impl: minimum number of hulls to create per mesh", | 763 | new ParameterDefn<float>("BHullMinClusters", "Bullet impl: minimum number of hulls to create per mesh", |
764 | 10f ), | 764 | 10f ), |
765 | new ParameterDefn<float>("BHullCompacityWeight", "Bullet impl: weight factor for how compact to make hulls", | 765 | new ParameterDefn<float>("BHullCompacityWeight", "Bullet impl: weight factor for how compact to make hulls", |
766 | 20f ), | 766 | 20f ), |
767 | new ParameterDefn<float>("BHullVolumeWeight", "Bullet impl: weight factor for volume in created hull", | 767 | new ParameterDefn<float>("BHullVolumeWeight", "Bullet impl: weight factor for volume in created hull", |
768 | 0.1f ), | 768 | 0.1f ), |
769 | new ParameterDefn<float>("BHullConcavity", "Bullet impl: weight factor for how convex a created hull can be", | 769 | new ParameterDefn<float>("BHullConcavity", "Bullet impl: weight factor for how convex a created hull can be", |
770 | 10f ), | 770 | 10f ), |
771 | new ParameterDefn<bool>("BHullAddExtraDistPoints", "Bullet impl: whether to add extra vertices for long distance vectors", | 771 | new ParameterDefn<bool>("BHullAddExtraDistPoints", "Bullet impl: whether to add extra vertices for long distance vectors", |
772 | true ), | 772 | true ), |
773 | new ParameterDefn<bool>("BHullAddNeighboursDistPoints", "Bullet impl: whether to add extra vertices between neighbor hulls", | 773 | new ParameterDefn<bool>("BHullAddNeighboursDistPoints", "Bullet impl: whether to add extra vertices between neighbor hulls", |
774 | true ), | 774 | true ), |
775 | new ParameterDefn<bool>("BHullAddFacesPoints", "Bullet impl: whether to add extra vertices to break up hull faces", | 775 | new ParameterDefn<bool>("BHullAddFacesPoints", "Bullet impl: whether to add extra vertices to break up hull faces", |
776 | true ), | 776 | true ), |
777 | new ParameterDefn<bool>("BHullShouldAdjustCollisionMargin", "Bullet impl: whether to shrink resulting hulls to account for collision margin", | 777 | new ParameterDefn<bool>("BHullShouldAdjustCollisionMargin", "Bullet impl: whether to shrink resulting hulls to account for collision margin", |
778 | false ), | 778 | false ), |
779 | 779 | ||
780 | new ParameterDefn<float>("WhichHACD", "zero if Bullet HACD, non-zero says VHACD", | 780 | new ParameterDefn<float>("WhichHACD", "zero if Bullet HACD, non-zero says VHACD", |
781 | 0f ), | 781 | 0f ), |
782 | new ParameterDefn<float>("VHACDresolution", "max number of voxels generated during voxelization stage", | 782 | new ParameterDefn<float>("VHACDresolution", "max number of voxels generated during voxelization stage", |
783 | 100000f ), | 783 | 100000f ), |
784 | new ParameterDefn<float>("VHACDdepth", "max number of clipping stages", | 784 | new ParameterDefn<float>("VHACDdepth", "max number of clipping stages", |
785 | 20f ), | 785 | 20f ), |
786 | new ParameterDefn<float>("VHACDconcavity", "maximum concavity", | 786 | new ParameterDefn<float>("VHACDconcavity", "maximum concavity", |
787 | 0.0025f ), | 787 | 0.0025f ), |
788 | new ParameterDefn<float>("VHACDplaneDownsampling", "granularity of search for best clipping plane", | 788 | new ParameterDefn<float>("VHACDplaneDownsampling", "granularity of search for best clipping plane", |
789 | 4f ), | 789 | 4f ), |
790 | new ParameterDefn<float>("VHACDconvexHullDownsampling", "precision of hull gen process", | 790 | new ParameterDefn<float>("VHACDconvexHullDownsampling", "precision of hull gen process", |
791 | 4f ), | 791 | 4f ), |
792 | new ParameterDefn<float>("VHACDalpha", "bias toward clipping along symmetry planes", | 792 | new ParameterDefn<float>("VHACDalpha", "bias toward clipping along symmetry planes", |
793 | 0.05f ), | 793 | 0.05f ), |
794 | new ParameterDefn<float>("VHACDbeta", "bias toward clipping along revolution axis", | 794 | new ParameterDefn<float>("VHACDbeta", "bias toward clipping along revolution axis", |
795 | 0.05f ), | 795 | 0.05f ), |
796 | new ParameterDefn<float>("VHACDgamma", "max concavity when merging", | 796 | new ParameterDefn<float>("VHACDgamma", "max concavity when merging", |
797 | 0.00125f ), | 797 | 0.00125f ), |
798 | new ParameterDefn<float>("VHACDpca", "on/off normalizing mesh before decomp", | 798 | new ParameterDefn<float>("VHACDpca", "on/off normalizing mesh before decomp", |
799 | 0f ), | 799 | 0f ), |
800 | new ParameterDefn<float>("VHACDmode", "0:voxel based, 1: tetrahedron based", | 800 | new ParameterDefn<float>("VHACDmode", "0:voxel based, 1: tetrahedron based", |
801 | 0f ), | 801 | 0f ), |
802 | new ParameterDefn<float>("VHACDmaxNumVerticesPerCH", "max triangles per convex hull", | 802 | new ParameterDefn<float>("VHACDmaxNumVerticesPerCH", "max triangles per convex hull", |
803 | 64f ), | 803 | 64f ), |
804 | new ParameterDefn<float>("VHACDminVolumePerCH", "sampling of generated convex hulls", | 804 | new ParameterDefn<float>("VHACDminVolumePerCH", "sampling of generated convex hulls", |
805 | 0.0001f ), | 805 | 0.0001f ), |
806 | 806 | ||
807 | new ParameterDefn<float>("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", | 807 | new ParameterDefn<float>("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", |
808 | (float)BSLinkset.LinksetImplementation.Compound ), | 808 | (float)BSLinkset.LinksetImplementation.Compound ), |
809 | new ParameterDefn<bool>("LinksetOffsetCenterOfMass", "If 'true', compute linkset center-of-mass and offset linkset position to account for same", | 809 | new ParameterDefn<bool>("LinksetOffsetCenterOfMass", "If 'true', compute linkset center-of-mass and offset linkset position to account for same", |
810 | true ), | 810 | true ), |
811 | new ParameterDefn<bool>("LinkConstraintUseFrameOffset", "For linksets built with constraints, enable frame offsetFor linksets built with constraints, enable frame offset.", | 811 | new ParameterDefn<bool>("LinkConstraintUseFrameOffset", "For linksets built with constraints, enable frame offsetFor linksets built with constraints, enable frame offset.", |
812 | false ), | 812 | false ), |
813 | new ParameterDefn<bool>("LinkConstraintEnableTransMotor", "Whether to enable translational motor on linkset constraints", | 813 | new ParameterDefn<bool>("LinkConstraintEnableTransMotor", "Whether to enable translational motor on linkset constraints", |
814 | true ), | 814 | true ), |
815 | new ParameterDefn<float>("LinkConstraintTransMotorMaxVel", "Maximum velocity to be applied by translational motor in linkset constraints", | 815 | new ParameterDefn<float>("LinkConstraintTransMotorMaxVel", "Maximum velocity to be applied by translational motor in linkset constraints", |
816 | 5.0f ), | 816 | 5.0f ), |
817 | new ParameterDefn<float>("LinkConstraintTransMotorMaxForce", "Maximum force to be applied by translational motor in linkset constraints", | 817 | new ParameterDefn<float>("LinkConstraintTransMotorMaxForce", "Maximum force to be applied by translational motor in linkset constraints", |
818 | 0.1f ), | 818 | 0.1f ), |
819 | new ParameterDefn<float>("LinkConstraintCFM", "Amount constraint can be violated. 0=no violation, 1=infinite. Default=0.1", | 819 | new ParameterDefn<float>("LinkConstraintCFM", "Amount constraint can be violated. 0=no violation, 1=infinite. Default=0.1", |
820 | 0.1f ), | 820 | 0.1f ), |
821 | new ParameterDefn<float>("LinkConstraintERP", "Amount constraint is corrected each tick. 0=none, 1=all. Default = 0.2", | 821 | new ParameterDefn<float>("LinkConstraintERP", "Amount constraint is corrected each tick. 0=none, 1=all. Default = 0.2", |
822 | 0.1f ), | 822 | 0.1f ), |
823 | new ParameterDefn<float>("LinkConstraintSolverIterations", "Number of solver iterations when computing constraint. (0 = Bullet default)", | 823 | new ParameterDefn<float>("LinkConstraintSolverIterations", "Number of solver iterations when computing constraint. (0 = Bullet default)", |
824 | 40 ), | 824 | 40 ), |
825 | 825 | ||
826 | new ParameterDefn<float>("DebugNumber", "A console setable number sometimes used for debugging", | 826 | new ParameterDefn<float>("DebugNumber", "A console setable number sometimes used for debugging", |
827 | 1.0f ), | 827 | 1.0f ), |
828 | 828 | ||
829 | new ParameterDefn<int>("PhysicsMetricFrames", "Frames between outputting detailed phys metrics. (0 is off)", | 829 | new ParameterDefn<int>("PhysicsMetricFrames", "Frames between outputting detailed phys metrics. (0 is off)", |