![]() |
Solve the system Mixed Linear Complementarity Problem (Mlcp) More...
#include <SurgSim/Physics/SolveMlcp.h>
Public Member Functions | |
SolveMlcp (bool doCopyState=false) | |
Constructor. More... | |
virtual | ~SolveMlcp () |
Destructor. More... | |
void | setMaxIterations (int maxIterations) |
void | setSolverPrecision (double epsilon) |
void | setContactTolerance (double epsilon) |
![]() | |
Computation (bool doCopyState) | |
Constructor. More... | |
virtual | ~Computation () |
Destructor. More... | |
std::shared_ptr< PhysicsManagerState > | update (double dt, const std::shared_ptr< PhysicsManagerState > &state) |
Public Interface execute this objects computations, dt is the time from the last update call in seconds. More... | |
void | setDoCopyState (bool val) |
Sets up whether the computation will copy the state of PhysicsManagerState before executing. More... | |
bool | isCopyingState () |
Query if this object is copying the PhysicsManagerState. More... | |
Protected Member Functions | |
virtual std::shared_ptr< PhysicsManagerState > | doUpdate (const double &dt, const std::shared_ptr< PhysicsManagerState > &state) override |
Override doUpdate from superclass. More... | |
Private Attributes | |
SurgSim::Math::MlcpGaussSeidelSolver | m_gaussSeidelSolver |
The Gauss-Seidel Mlcp solver. More... | |
Solve the system Mixed Linear Complementarity Problem (Mlcp)
|
explicit |
Constructor.
doCopyState | Specify if the ouput state is a copy or not of the input state in Computation::Update() |
|
virtual |
Destructor.
|
overrideprotectedvirtual |
Override doUpdate from superclass.
dt | The time step |
state | The Physics manager state |
Implements SurgSim::Physics::Computation.
void SurgSim::Physics::SolveMlcp::setContactTolerance | ( | double | epsilon | ) |
void SurgSim::Physics::SolveMlcp::setMaxIterations | ( | int | maxIterations | ) |
void SurgSim::Physics::SolveMlcp::setSolverPrecision | ( | double | epsilon | ) |
|
private |
The Gauss-Seidel Mlcp solver.