16 #ifndef SURGSIM_PHYSICS_SOLVEMLCP_H 17 #define SURGSIM_PHYSICS_SOLVEMLCP_H 35 explicit SolveMlcp(
bool doCopyState =
false);
52 virtual std::shared_ptr<PhysicsManagerState>
doUpdate(
const double& dt,
53 const std::shared_ptr<PhysicsManagerState>& state)
override;
64 #endif // SURGSIM_PHYSICS_SOLVEMLCP_H Definition: DriveElementFromInputBehavior.cpp:27
void setSolverPrecision(double epsilon)
Definition: SolveMlcp.cpp:54
A solver for mixed LCP problems using the Gauss-Seidel iterative method.
Definition: MlcpGaussSeidelSolver.h:47
void setContactTolerance(double epsilon)
Definition: SolveMlcp.cpp:59
virtual ~SolveMlcp()
Destructor.
Definition: SolveMlcp.cpp:35
virtual std::shared_ptr< PhysicsManagerState > doUpdate(const double &dt, const std::shared_ptr< PhysicsManagerState > &state) override
Override doUpdate from superclass.
Definition: SolveMlcp.cpp:38
Encapsulates a calculation over a selection of objects, needs to be subclassed to be used...
Definition: Computation.h:30
SurgSim::Math::MlcpGaussSeidelSolver m_gaussSeidelSolver
The Gauss-Seidel Mlcp solver.
Definition: SolveMlcp.h:58
SolveMlcp(bool doCopyState=false)
Constructor.
Definition: SolveMlcp.cpp:32
void setMaxIterations(int maxIterations)
Definition: SolveMlcp.cpp:49
Solve the system Mixed Linear Complementarity Problem (Mlcp)
Definition: SolveMlcp.h:30