16 #ifndef SURGSIM_PHYSICS_SOLVEMLCP_H 17 #define SURGSIM_PHYSICS_SOLVEMLCP_H 21 #include "SurgSim/Framework/Macros.h" 22 #include "SurgSim/Math/MlcpGaussSeidelSolver.h" 23 #include "SurgSim/Physics/Computation.h" 36 explicit SolveMlcp(
bool doCopyState =
false);
73 std::shared_ptr<PhysicsManagerState>
doUpdate(
const double& dt,
const std::shared_ptr<PhysicsManagerState>& state)
85 #endif // SURGSIM_PHYSICS_SOLVEMLCP_H Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
A solver for mixed LCP problems using the Gauss-Seidel iterative method.
Definition: MlcpGaussSeidelSolver.h:53
void setContactTolerance(double epsilon)
Set the contact tolerance for the MLCP solver.
Definition: SolveMlcp.cpp:95
double getPrecision() const
Get the precision of the MLCP solver.
Definition: SolveMlcp.cpp:90
double getContactTolerance() const
Get the contact tolerance for the MLCP solver.
Definition: SolveMlcp.cpp:100
void setMaxIterations(size_t maxIterations)
Set the maximum number of iterations for the MLCP solver.
Definition: SolveMlcp.cpp:75
virtual ~SolveMlcp()
Destructor.
Definition: SolveMlcp.cpp:32
void setPrecision(double epsilon)
Set the precision of the MLCP solver.
Definition: SolveMlcp.cpp:85
std::shared_ptr< PhysicsManagerState > doUpdate(const double &dt, const std::shared_ptr< PhysicsManagerState > &state) override
Override doUpdate from superclass.
Definition: SolveMlcp.cpp:35
size_t getMaxIterations() const
Get the maximum number of iterations for the MLCP solver.
Definition: SolveMlcp.cpp:80
Encapsulates a calculation over a selection of objects, needs to be subclassed to be used...
Definition: Computation.h:32
SolveMlcp(bool doCopyState=false)
Constructor.
Definition: SolveMlcp.cpp:28
Solve the system Mixed Linear Complementarity Problem (Mlcp)
Definition: SolveMlcp.h:31