Bullet Collision Detection & Physics Library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btLemkeAlgorithm Class Reference

#include <btLemkeAlgorithm.h>

Public Member Functions

 btLemkeAlgorithm (const btMatrixXu &M_, const btVectorXu &q_, const int &DEBUGLEVEL_=0)
 
int getInfo ()
 return info of solution process More...
 
int getSteps (void)
 get the number of steps until the solution was found More...
 
void setSystem (const btMatrixXu &M_, const btVectorXu &q_)
 set system with Matrix M and vector q More...
 
btVectorXu solve (unsigned int maxloops=0)
 solve algorithm adapted from : Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation (John E. More...
 
virtual ~btLemkeAlgorithm ()
 

Protected Member Functions

int findLexicographicMinimum (const btMatrixXu &A, const int &pivotColIndex)
 
bool LexicographicPositive (const btVectorXu &v)
 
void GaussJordanEliminationStep (btMatrixXu &A, int pivotRowIndex, int pivotColumnIndex, const btAlignedObjectArray< int > &basis)
 
bool greaterZero (const btVectorXu &vector)
 
bool validBasis (const btAlignedObjectArray< int > &basis)
 

Protected Attributes

btMatrixXu m_M
 
btVectorXu m_q
 
unsigned int steps
 number of steps until the Lemke algorithm found a solution More...
 
int DEBUGLEVEL
 define level of debug output More...
 
int info
 did the algorithm find a solution More...
 

Detailed Description

Definition at line 29 of file btLemkeAlgorithm.h.

Constructor & Destructor Documentation

◆ btLemkeAlgorithm()

btLemkeAlgorithm::btLemkeAlgorithm ( const btMatrixXu M_,
const btVectorXu q_,
const int &  DEBUGLEVEL_ = 0 
)
inline

Definition at line 32 of file btLemkeAlgorithm.h.

◆ ~btLemkeAlgorithm()

virtual btLemkeAlgorithm::~btLemkeAlgorithm ( )
inlinevirtual

Definition at line 69 of file btLemkeAlgorithm.h.

Member Function Documentation

◆ findLexicographicMinimum()

int btLemkeAlgorithm::findLexicographicMinimum ( const btMatrixXu A,
const int &  pivotColIndex 
)
protected

Definition at line 220 of file btLemkeAlgorithm.cpp.

◆ GaussJordanEliminationStep()

void btLemkeAlgorithm::GaussJordanEliminationStep ( btMatrixXu A,
int  pivotRowIndex,
int  pivotColumnIndex,
const btAlignedObjectArray< int > &  basis 
)
protected

Definition at line 295 of file btLemkeAlgorithm.cpp.

◆ getInfo()

int btLemkeAlgorithm::getInfo ( )
inline

return info of solution process

Definition at line 41 of file btLemkeAlgorithm.h.

◆ getSteps()

int btLemkeAlgorithm::getSteps ( void  )
inline

get the number of steps until the solution was found

Definition at line 49 of file btLemkeAlgorithm.h.

◆ greaterZero()

bool btLemkeAlgorithm::greaterZero ( const btVectorXu vector)
protected

Definition at line 341 of file btLemkeAlgorithm.cpp.

◆ LexicographicPositive()

bool btLemkeAlgorithm::LexicographicPositive ( const btVectorXu v)
protected

Definition at line 281 of file btLemkeAlgorithm.cpp.

◆ setSystem()

void btLemkeAlgorithm::setSystem ( const btMatrixXu M_,
const btVectorXu q_ 
)
inline

set system with Matrix M and vector q

Definition at line 57 of file btLemkeAlgorithm.h.

◆ solve()

btVectorXu btLemkeAlgorithm::solve ( unsigned int  maxloops = 0)

solve algorithm adapted from : Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation (John E.

Lloyd)

Definition at line 60 of file btLemkeAlgorithm.cpp.

◆ validBasis()

bool btLemkeAlgorithm::validBasis ( const btAlignedObjectArray< int > &  basis)
protected

Definition at line 356 of file btLemkeAlgorithm.cpp.

Member Data Documentation

◆ DEBUGLEVEL

int btLemkeAlgorithm::DEBUGLEVEL
protected

define level of debug output

Definition at line 91 of file btLemkeAlgorithm.h.

◆ info

int btLemkeAlgorithm::info
protected

did the algorithm find a solution

-1 : not successful 0 : successful

Definition at line 99 of file btLemkeAlgorithm.h.

◆ m_M

btMatrixXu btLemkeAlgorithm::m_M
protected

Definition at line 80 of file btLemkeAlgorithm.h.

◆ m_q

btVectorXu btLemkeAlgorithm::m_q
protected

Definition at line 81 of file btLemkeAlgorithm.h.

◆ steps

unsigned int btLemkeAlgorithm::steps
protected

number of steps until the Lemke algorithm found a solution

Definition at line 86 of file btLemkeAlgorithm.h.


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