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 32 of file btLemkeAlgorithm.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file btLemkeAlgorithm.h.

virtual btLemkeAlgorithm::~btLemkeAlgorithm ( )
inlinevirtual

Definition at line 75 of file btLemkeAlgorithm.h.

Member Function Documentation

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

Definition at line 224 of file btLemkeAlgorithm.cpp.

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

Definition at line 298 of file btLemkeAlgorithm.cpp.

int btLemkeAlgorithm::getInfo ( )
inline

return info of solution process

Definition at line 47 of file btLemkeAlgorithm.h.

int btLemkeAlgorithm::getSteps ( void  )
inline

get the number of steps until the solution was found

Definition at line 54 of file btLemkeAlgorithm.h.

bool btLemkeAlgorithm::greaterZero ( const btVectorXu vector)
protected

Definition at line 345 of file btLemkeAlgorithm.cpp.

bool btLemkeAlgorithm::LexicographicPositive ( const btVectorXu v)
protected

Definition at line 284 of file btLemkeAlgorithm.cpp.

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

set system with Matrix M and vector q

Definition at line 63 of file btLemkeAlgorithm.h.

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 63 of file btLemkeAlgorithm.cpp.

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

Definition at line 358 of file btLemkeAlgorithm.cpp.

Member Data Documentation

int btLemkeAlgorithm::DEBUGLEVEL
protected

define level of debug output

Definition at line 96 of file btLemkeAlgorithm.h.

int btLemkeAlgorithm::info
protected

did the algorithm find a solution

-1 : not successful 0 : successful

Definition at line 104 of file btLemkeAlgorithm.h.

btMatrixXu btLemkeAlgorithm::m_M
protected

Definition at line 85 of file btLemkeAlgorithm.h.

btVectorXu btLemkeAlgorithm::m_q
protected

Definition at line 86 of file btLemkeAlgorithm.h.

unsigned int btLemkeAlgorithm::steps
protected

number of steps until the Lemke algorithm found a solution

Definition at line 91 of file btLemkeAlgorithm.h.


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