24 #ifndef BT_NUMERICS_LEMKE_ALGORITHM_H_ 25 #define BT_NUMERICS_LEMKE_ALGORITHM_H_ unsigned int steps
number of steps until the Lemke algorithm found a solution
int findLexicographicMinimum(const btMatrixXu &A, const int &pivotColIndex)
btLemkeAlgorithm(const btMatrixXu &M_, const btVectorXu &q_, const int &DEBUGLEVEL_=0)
btVectorXu solve(unsigned int maxloops=0)
solve algorithm adapted from : Fast Implementation of Lemkeās Algorithm for Rigid Body Contact Simul...
virtual ~btLemkeAlgorithm()
int info
did the algorithm find a solution
bool LexicographicPositive(const btVectorXu &v)
void GaussJordanEliminationStep(btMatrixXu &A, int pivotRowIndex, int pivotColumnIndex, const btAlignedObjectArray< int > &basis)
int DEBUGLEVEL
define level of debug output
void setSystem(const btMatrixXu &M_, const btVectorXu &q_)
set system with Matrix M and vector q
int getSteps(void)
get the number of steps until the solution was found
bool validBasis(const btAlignedObjectArray< int > &basis)
bool greaterZero(const btVectorXu &vector)
int getInfo()
return info of solution process