Blender
V3.3
|
#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. Lloyd) 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... | |
Definition at line 29 of file btLemkeAlgorithm.h.
|
inline |
Definition at line 32 of file btLemkeAlgorithm.h.
References setSystem().
|
inlinevirtual |
Definition at line 69 of file btLemkeAlgorithm.h.
|
protected |
Definition at line 220 of file btLemkeAlgorithm.cpp.
References A, Freestyle::a, btVectorXu, btAlignedObjectArray< T >::push_back(), and btAlignedObjectArray< T >::size().
|
protected |
Definition at line 295 of file btLemkeAlgorithm.cpp.
References A, Freestyle::a, and v.
|
inline |
|
inline |
get the number of steps until the solution was found
Definition at line 49 of file btLemkeAlgorithm.h.
References steps.
|
protected |
Definition at line 341 of file btLemkeAlgorithm.cpp.
References Particle::size, and vector.
|
protected |
Definition at line 281 of file btLemkeAlgorithm.cpp.
References btMachEps(), fabs(), and v.
|
inline |
set system with Matrix M and vector q
Definition at line 57 of file btLemkeAlgorithm.h.
Referenced by btLemkeAlgorithm(), and btLemkeSolver::solveMLCP().
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.
References A, btMatrixXu, btVectorXu, btAlignedObjectArray< T >::push_back(), btAlignedObjectArray< T >::size(), steps, and v.
Referenced by btLemkeSolver::solveMLCP().
|
protected |
Definition at line 356 of file btLemkeAlgorithm.cpp.
References btAlignedObjectArray< T >::size().
|
protected |
define level of debug output
Definition at line 91 of file btLemkeAlgorithm.h.
|
protected |
did the algorithm find a solution
-1 : not successful 0 : successful
Definition at line 99 of file btLemkeAlgorithm.h.
Referenced by getInfo().
|
protected |
Definition at line 80 of file btLemkeAlgorithm.h.
Referenced by setSystem().
|
protected |
Definition at line 81 of file btLemkeAlgorithm.h.
Referenced by setSystem().
|
protected |
number of steps until the Lemke algorithm found a solution
Definition at line 86 of file btLemkeAlgorithm.h.
Referenced by getSteps().