DART  6.10.1
dart::constraint::DantzigLCPSolver Class Reference

#include <DantzigLCPSolver.hpp>

Inheritance diagram for dart::constraint::DantzigLCPSolver:
dart::constraint::LCPSolver

Public Member Functions

 DantzigLCPSolver (double _timestep)
 Constructor. More...
 
virtual ~DantzigLCPSolver ()
 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

Deprecated:
This header has been deprecated in DART 6.7.

Please include DantzigBoxedLcpSolver.hpp intead.

DantzigLCPSolver is a LCP solver that uses ODE's implementation of Dantzig algorithm

Constructor & Destructor Documentation

◆ DantzigLCPSolver()

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

Constructor.

◆ ~DantzigLCPSolver()

dart::constraint::DantzigLCPSolver::~DantzigLCPSolver ( )
virtual

Constructor.

Member Function Documentation

◆ getTimeStep()

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

Return time step.

◆ isSymmetric() [1/2]

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

Return true if the matrix is symmetric.

◆ isSymmetric() [2/2]

bool dart::constraint::DantzigLCPSolver::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::DantzigLCPSolver::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::DantzigLCPSolver::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.