Public Member Functions | Protected Member Functions | Private Attributes | List of all members
SurgSim::Physics::SolveMlcp Class Reference

Solve the system Mixed Linear Complementarity Problem (Mlcp) More...

#include <SurgSim/Physics/SolveMlcp.h>

Inheritance diagram for SurgSim::Physics::SolveMlcp:
SurgSim::Physics::Computation

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)
 
- Public Member Functions inherited from SurgSim::Physics::Computation
 Computation (bool doCopyState)
 Constructor. More...
 
virtual ~Computation ()
 Destructor. More...
 
std::shared_ptr< PhysicsManagerStateupdate (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< PhysicsManagerStatedoUpdate (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...
 

Detailed Description

Solve the system Mixed Linear Complementarity Problem (Mlcp)

Constructor & Destructor Documentation

SurgSim::Physics::SolveMlcp::SolveMlcp ( bool  doCopyState = false)
explicit

Constructor.

Parameters
doCopyStateSpecify if the ouput state is a copy or not of the input state in Computation::Update()
SurgSim::Physics::SolveMlcp::~SolveMlcp ( )
virtual

Destructor.

Member Function Documentation

std::shared_ptr< PhysicsManagerState > SurgSim::Physics::SolveMlcp::doUpdate ( const double &  dt,
const std::shared_ptr< PhysicsManagerState > &  state 
)
overrideprotectedvirtual

Override doUpdate from superclass.

Parameters
dtThe time step
stateThe Physics manager state
Returns
The updated physics manager state (input updated or copied updated)

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)

Member Data Documentation

SurgSim::Math::MlcpGaussSeidelSolver SurgSim::Physics::SolveMlcp::m_gaussSeidelSolver
private

The Gauss-Seidel Mlcp solver.


The documentation for this class was generated from the following files: