opensurgsim
Public Member Functions | List of all members
SurgSim::Math::MlcpGaussSeidelSolver Class Reference

A solver for mixed LCP problems using the Gauss-Seidel iterative method. More...

#include <MlcpGaussSeidelSolver.h>

Inheritance diagram for SurgSim::Math::MlcpGaussSeidelSolver:
SurgSim::Math::MlcpSolver

Public Member Functions

 MlcpGaussSeidelSolver ()
 Constructor.
 
 MlcpGaussSeidelSolver (double epsilonConvergence, double contactTolerance, size_t maxIterations)
 Constructor. More...
 
virtual ~MlcpGaussSeidelSolver ()
 Destructor.
 
bool solve (const MlcpProblem &problem, MlcpSolution *solution)
 Resolution of a given MLCP (Gauss Seidel iterative solver) More...
 
double getEpsilonConvergence () const
 
void setEpsilonConvergence (double precision)
 Set the precision. More...
 
double getContactTolerance () const
 
void setContactTolerance (double tolerance)
 Set the contact tolerance. More...
 
size_t getMaxIterations () const
 
void setMaxIterations (size_t maxIterations)
 Set the max number of iterations. More...
 
- Public Member Functions inherited from SurgSim::Math::MlcpSolver
 MlcpSolver ()
 Constructor.
 

Detailed Description

A solver for mixed LCP problems using the Gauss-Seidel iterative method.

The problem can contain:

See e.g.: Duriez, Christian; Dubois, F.; Kheddar, A.; Andriot, C., "Realistic haptic rendering of interacting deformable objects in virtual environments," IEEE Transactions on Visualization and Computer Graphics, vol.12, no.1, pp.36,47, Jan.-Feb. 2006.

Constructor & Destructor Documentation

§ MlcpGaussSeidelSolver()

SurgSim::Math::MlcpGaussSeidelSolver::MlcpGaussSeidelSolver ( double  epsilonConvergence,
double  contactTolerance,
size_t  maxIterations 
)

Constructor.

Parameters
epsilonConvergenceThe precision.
contactToleranceThe contact tolerance.
maxIterationsThe max iterations.

Member Function Documentation

§ getContactTolerance()

double SurgSim::Math::MlcpGaussSeidelSolver::getContactTolerance ( ) const
Returns
The contact tolerance.

§ getEpsilonConvergence()

double SurgSim::Math::MlcpGaussSeidelSolver::getEpsilonConvergence ( ) const
Returns
The precision.

§ getMaxIterations()

size_t SurgSim::Math::MlcpGaussSeidelSolver::getMaxIterations ( ) const
Returns
The max number of iterations.

§ setContactTolerance()

void SurgSim::Math::MlcpGaussSeidelSolver::setContactTolerance ( double  tolerance)

Set the contact tolerance.

Parameters
toleranceThe contact tolerance.

§ setEpsilonConvergence()

void SurgSim::Math::MlcpGaussSeidelSolver::setEpsilonConvergence ( double  precision)

Set the precision.

Parameters
precisionThe precision.

§ setMaxIterations()

void SurgSim::Math::MlcpGaussSeidelSolver::setMaxIterations ( size_t  maxIterations)

Set the max number of iterations.

Parameters
maxIterationsThe max number of iterations.

§ solve()

bool SurgSim::Math::MlcpGaussSeidelSolver::solve ( const MlcpProblem problem,
MlcpSolution solution 
)
virtual

Resolution of a given MLCP (Gauss Seidel iterative solver)

Parameters
problemThe mlcp problem
[out]solutionThe mlcp solution
Returns
true if successfully converged.

Implements SurgSim::Math::MlcpSolver.


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