Bullet Collision Detection & Physics Library: btLemkeAlgorithm Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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

## Protected Member Functions
int | findLexicographicMinimum (const btMatrixXu &A, const int &pivotColIndex, const int &z0Row, bool &isRayTermination)
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
int | DEBUGLEVEL
| define level of debug output
int | info
| did the algorithm find a solution

## 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,
|  | const int & | z0Row,
|  | bool & | isRayTermination )
| protected

Definition at line 223 of file btLemkeAlgorithm.cpp.

## ◆ GaussJordanEliminationStep()

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

Definition at line 319 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 365 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 380 of file btLemkeAlgorithm.cpp.

## Member Data Documentation

## ◆ DEBUGLEVEL

int btLemkeAlgorithm::DEBUGLEVEL
| protected

define level of debug output

Definition at line 90 of file btLemkeAlgorithm.h.

## ◆ info

int btLemkeAlgorithm::info
| protected

did the algorithm find a solution

-1 : not successful 0 : successful

Definition at line 98 of file btLemkeAlgorithm.h.

## ◆ m_M

btMatrixXu btLemkeAlgorithm::m_M
| protected

Definition at line 79 of file btLemkeAlgorithm.h.

## ◆ m_q

btVectorXu btLemkeAlgorithm::m_q
| protected

Definition at line 80 of file btLemkeAlgorithm.h.

## ◆ steps

unsigned int btLemkeAlgorithm::steps
| protected

number of steps until the Lemke algorithm found a solution

Definition at line 85 of file btLemkeAlgorithm.h.

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

- btLemkeAlgorithm.h
- btLemkeAlgorithm.cpp