doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
idLCP_Square Class Reference
Inheritance diagram for idLCP_Square:
idLCP

Public Member Functions

virtual bool Solve (const idMatX &o_m, idVecX &o_x, const idVecX &o_b, const idVecX &o_lo, const idVecX &o_hi, const int *o_boxIndex)
 
- Public Member Functions inherited from idLCP
virtual ~idLCP (void)
 
virtual void SetMaxIterations (int max)
 
virtual int GetMaxIterations (void)
 

Private Member Functions

bool FactorClamped (void)
 
void SolveClamped (idVecX &x, const float *b)
 
void Swap (int i, int j)
 
void AddClamped (int r)
 
void RemoveClamped (int r)
 
void CalcForceDelta (int d, float dir)
 
void CalcAccelDelta (int d)
 
void ChangeForce (int d, float step)
 
void ChangeAccel (int d, float step)
 
void GetMaxStep (int d, float dir, float &maxStep, int &limit, int &limitSide) const
 

Private Attributes

idMatX m
 
idVecX b
 
idVecX lo
 
idVecX hi
 
idVecX f
 
idVecX a
 
idVecX delta_f
 
idVecX delta_a
 
idMatX clamped
 
idVecX diagonal
 
int numUnbounded
 
int numClamped
 
float ** rowPtrs
 
intboxIndex
 
intside
 
intpermuted
 
bool padded
 

Additional Inherited Members

- Static Public Member Functions inherited from idLCP
static idLCPAllocSquare (void)
 
static idLCPAllocSymmetric (void)
 
- Protected Attributes inherited from idLCP
int maxIterations
 

Detailed Description

Definition at line 47 of file Lcp.cpp.

Member Function Documentation

void idLCP_Square::AddClamped ( int  r)
private

Definition at line 175 of file Lcp.cpp.

ID_INLINE void idLCP_Square::CalcAccelDelta ( int  d)
private

Definition at line 377 of file Lcp.cpp.

ID_INLINE void idLCP_Square::CalcForceDelta ( int  d,
float  dir 
)
private

Definition at line 342 of file Lcp.cpp.

ID_INLINE void idLCP_Square::ChangeAccel ( int  d,
float  step 
)
private

Definition at line 409 of file Lcp.cpp.

ID_INLINE void idLCP_Square::ChangeForce ( int  d,
float  step 
)
private

Definition at line 396 of file Lcp.cpp.

bool idLCP_Square::FactorClamped ( void  )
private

Definition at line 85 of file Lcp.cpp.

void idLCP_Square::GetMaxStep ( int  d,
float  dir,
float maxStep,
int limit,
int limitSide 
) const
private

Definition at line 419 of file Lcp.cpp.

void idLCP_Square::RemoveClamped ( int  r)
private

Definition at line 214 of file Lcp.cpp.

bool idLCP_Square::Solve ( const idMatX o_m,
idVecX o_x,
const idVecX o_b,
const idVecX o_lo,
const idVecX o_hi,
const int o_boxIndex 
)
virtual

Implements idLCP.

Definition at line 507 of file Lcp.cpp.

void idLCP_Square::SolveClamped ( idVecX x,
const float b 
)
private

Definition at line 122 of file Lcp.cpp.

void idLCP_Square::Swap ( int  i,
int  j 
)
private

Definition at line 150 of file Lcp.cpp.

Member Data Documentation

idVecX idLCP_Square::a
private

Definition at line 55 of file Lcp.cpp.

idVecX idLCP_Square::b
private

Definition at line 53 of file Lcp.cpp.

int* idLCP_Square::boxIndex
private

Definition at line 62 of file Lcp.cpp.

idMatX idLCP_Square::clamped
private

Definition at line 57 of file Lcp.cpp.

idVecX idLCP_Square::delta_a
private

Definition at line 56 of file Lcp.cpp.

idVecX idLCP_Square::delta_f
private

Definition at line 56 of file Lcp.cpp.

idVecX idLCP_Square::diagonal
private

Definition at line 58 of file Lcp.cpp.

idVecX idLCP_Square::f
private

Definition at line 55 of file Lcp.cpp.

idVecX idLCP_Square::hi
private

Definition at line 54 of file Lcp.cpp.

idVecX idLCP_Square::lo
private

Definition at line 54 of file Lcp.cpp.

idMatX idLCP_Square::m
private

Definition at line 52 of file Lcp.cpp.

int idLCP_Square::numClamped
private

Definition at line 60 of file Lcp.cpp.

int idLCP_Square::numUnbounded
private

Definition at line 59 of file Lcp.cpp.

bool idLCP_Square::padded
private

Definition at line 65 of file Lcp.cpp.

int* idLCP_Square::permuted
private

Definition at line 64 of file Lcp.cpp.

float** idLCP_Square::rowPtrs
private

Definition at line 61 of file Lcp.cpp.

int* idLCP_Square::side
private

Definition at line 63 of file Lcp.cpp.


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