DART  6.6.2
dart::constraint::PGSLCPSolver Class Reference

PGSLCPSolver. More...

#include <PGSLCPSolver.hpp>

Inheritance diagram for dart::constraint::PGSLCPSolver:
dart::constraint::LCPSolver

Public Member Functions

 PGSLCPSolver (double _timestep)
 Constructor. More...
 
virtual ~PGSLCPSolver ()
 Constructor. More...
 
void solve (ConstrainedGroup *_group) override
 Solve constriant impulses for a constrained group. More...
 
void setTimeStep (double _timeStep)
 Set time step. More...
 
double getTimeStep () const
 Return time step. More...
 

Protected Attributes

double mTimeStep
 Simulation time step. More...
 

Private Member Functions

bool isSymmetric (std::size_t _n, double *_A)
 Return true if the matrix is symmetric. More...
 
bool isSymmetric (std::size_t _n, double *_A, std::size_t _begin, std::size_t _end)
 Return true if the diagonla block of matrix is symmetric. More...
 
void print (std::size_t _n, double *_A, double *_x, double *_lo, double *_hi, double *_b, double *w, int *_findex)
 Print debug information. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ PGSLCPSolver()

dart::constraint::PGSLCPSolver::PGSLCPSolver ( double  _timestep)
explicit

Constructor.

◆ ~PGSLCPSolver()

dart::constraint::PGSLCPSolver::~PGSLCPSolver ( )
virtual

Constructor.

Member Function Documentation

◆ getTimeStep()

double dart::constraint::LCPSolver::getTimeStep ( ) const
inherited

Return time step.

◆ isSymmetric() [1/2]

bool dart::constraint::PGSLCPSolver::isSymmetric ( std::size_t  _n,
double *  _A 
)
private

Return true if the matrix is symmetric.

◆ isSymmetric() [2/2]

bool dart::constraint::PGSLCPSolver::isSymmetric ( std::size_t  _n,
double *  _A,
std::size_t  _begin,
std::size_t  _end 
)
private

Return true if the diagonla block of matrix is symmetric.

◆ print()

void dart::constraint::PGSLCPSolver::print ( std::size_t  _n,
double *  _A,
double *  _x,
double *  _lo,
double *  _hi,
double *  _b,
double *  w,
int *  _findex 
)
private

Print debug information.

◆ setTimeStep()

void dart::constraint::LCPSolver::setTimeStep ( double  _timeStep)
inherited

Set time step.

◆ solve()

void dart::constraint::PGSLCPSolver::solve ( ConstrainedGroup _group)
overridevirtual

Solve constriant impulses for a constrained group.

Implements dart::constraint::LCPSolver.

Member Data Documentation

◆ mTimeStep

double dart::constraint::LCPSolver::mTimeStep
protectedinherited

Simulation time step.