Remove Lemke from SerialChains demo

This commit is contained in:
Jeongseok Lee
2018-08-07 15:27:54 -07:00
parent 48e5a3a9ed
commit 3627407041

View File

@@ -3,7 +3,6 @@
#include "btBulletDynamicsCommon.h" #include "btBulletDynamicsCommon.h"
#include "BulletDynamics/MLCPSolvers/btDantzigSolver.h" #include "BulletDynamics/MLCPSolvers/btDantzigSolver.h"
#include "BulletDynamics/MLCPSolvers/btLemkeSolver.h"
#include "BulletDynamics/MLCPSolvers/btSolveProjectedGaussSeidel.h" #include "BulletDynamics/MLCPSolvers/btSolveProjectedGaussSeidel.h"
#include "BulletDynamics/Featherstone/btMultiBody.h" #include "BulletDynamics/Featherstone/btMultiBody.h"
@@ -89,7 +88,7 @@ void SerialChains::initPhysics()
m_broadphase = new btDbvtBroadphase(); m_broadphase = new btDbvtBroadphase();
if (g_constraintSolverType == 4) if (g_constraintSolverType == 3)
{ {
g_constraintSolverType = 0; g_constraintSolverType = 0;
g_fixedBase = !g_fixedBase; g_fixedBase = !g_fixedBase;
@@ -107,22 +106,18 @@ void SerialChains::initPhysics()
m_solver = new btMultiBodyMLCPConstraintSolver(mlcp); m_solver = new btMultiBodyMLCPConstraintSolver(mlcp);
b3Printf("Constraint Solver: MLCP + PGS"); b3Printf("Constraint Solver: MLCP + PGS");
break; break;
case 2: default:
mlcp = new btDantzigSolver(); mlcp = new btDantzigSolver();
m_solver = new btMultiBodyMLCPConstraintSolver(mlcp); m_solver = new btMultiBodyMLCPConstraintSolver(mlcp);
b3Printf("Constraint Solver: MLCP + Dantzig"); b3Printf("Constraint Solver: MLCP + Dantzig");
break; break;
default:
mlcp = new btLemkeSolver();
m_solver = new btMultiBodyMLCPConstraintSolver(mlcp);
b3Printf("Constraint Solver: MLCP + Lemke");
break;
} }
btMultiBodyDynamicsWorld* world = new btMultiBodyDynamicsWorld(m_dispatcher, m_broadphase, m_solver, m_collisionConfiguration); btMultiBodyDynamicsWorld* world = new btMultiBodyDynamicsWorld(m_dispatcher, m_broadphase, m_solver, m_collisionConfiguration);
m_dynamicsWorld = world; m_dynamicsWorld = world;
m_guiHelper->createPhysicsDebugDrawer(m_dynamicsWorld); m_guiHelper->createPhysicsDebugDrawer(m_dynamicsWorld);
m_dynamicsWorld->setGravity(btVector3(0, -10, 0)); m_dynamicsWorld->setGravity(btVector3(0, -10, 0));
m_dynamicsWorld->getSolverInfo().m_globalCfm = btScalar(1e-4); //todo: what value is good?
///create a few basic rigid bodies ///create a few basic rigid bodies
btVector3 groundHalfExtents(50, 50, 50); btVector3 groundHalfExtents(50, 50, 50);