Bullet Collision Detection & Physics Library
|
#include <btMultiBodyMLCPConstraintSolver.h>
Additional Inherited Members | |
![]() | |
btSolverAnalyticsData | m_analyticsData |
![]() | |
static void | applyAnisotropicFriction (btCollisionObject *colObj, btVector3 &frictionDirection, int frictionMode) |
Definition at line 26 of file btMultiBodyMLCPConstraintSolver.h.
|
explicit |
Constructor.
[in] | solver | MLCP solver. Assumed it's not null. |
[in] | maxLCPSize | Maximum size of LCP to solve using MLCP solver. If the MLCP size exceeds this number, sequaltial impulse method will be used. |
Definition at line 937 of file btMultiBodyMLCPConstraintSolver.cpp.
|
virtual |
Destructor.
Definition at line 943 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protectedvirtual |
Constructs MLCP terms, which are m_A
, m_b
, m_lo
, and m_hi
.
Definition at line 236 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protected |
Constructs MLCP terms for constraints of two multi-bodies or one rigid body and one multibody.
Definition at line 556 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protected |
Constructs MLCP terms for constraints of two rigid bodies.
fill the upper triangle of the matrix, to make it symmetric
Definition at line 242 of file btMultiBodyMLCPConstraintSolver.cpp.
int btMultiBodyMLCPConstraintSolver::getNumFallbacks | ( | ) | const |
Returns the number of fallbacks of using btSequentialImpulseConstraintSolver, which happens when the MLCP solver fails.
Definition at line 953 of file btMultiBodyMLCPConstraintSolver.cpp.
|
virtual |
Returns the constraint solver type.
Reimplemented from btSequentialImpulseConstraintSolver.
Definition at line 963 of file btMultiBodyMLCPConstraintSolver.cpp.
void btMultiBodyMLCPConstraintSolver::setMLCPSolver | ( | btMLCPSolverInterface * | solver | ) |
Sets MLCP solver. Assumed it's not null.
Definition at line 948 of file btMultiBodyMLCPConstraintSolver.cpp.
Sets the number of fallbacks. This function may be used to reset the number to zero.
Definition at line 958 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protectedvirtual |
Reimplemented from btSequentialImpulseConstraintSolver.
Definition at line 846 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protectedvirtual |
Reimplemented from btMultiBodyConstraintSolver.
Definition at line 691 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protectedvirtual |
Solves MLCP and returns the success.
Definition at line 657 of file btMultiBodyMLCPConstraintSolver.cpp.
|
protected |
A matrix in the MLCP formulation.
Definition at line 33 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Array of all the rigid body constraints.
Definition at line 98 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
b vector in the MLCP formulation.
Definition at line 36 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Split impulse Cache vector corresponding to m_b
.
Definition at line 54 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Count of fallbacks of using btSequentialImpulseConstraintSolver, which happens when the MLCP solver fails.
Definition at line 107 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Upper bound of constraint impulse, m_x
.
Definition at line 45 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Indices of normal contact constraint associated with frictional contact constraint for rigid bodies.
This is used by the MLCP solver to update the upper bounds of frictional contact impulse given intermediate normal contact impulse. For example, i-th element represents the index of a normal constraint that is accosiated with i-th frictional contact constraint if i-th constraint is a frictional contact constraint. Otherwise, -1.
Definition at line 87 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Lower bound of constraint impulse, m_x
.
Definition at line 42 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
A matrix in the MLCP formulation.
Definition at line 65 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Array of all the multibody constraints.
Definition at line 101 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
b vector in the MLCP formulation.
Definition at line 68 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Upper bound of constraint impulse, m_x
.
Definition at line 77 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Indices of normal contact constraint associated with frictional contact constraint for multibodies.
This is used by the MLCP solver to update the upper bounds of frictional contact impulse given intermediate normal contact impulse. For example, i-th element represents the index of a normal constraint that is accosiated with i-th frictional contact constraint if i-th constraint is a frictional contact constraint. Otherwise, -1.
Definition at line 95 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Lower bound of constraint impulse, m_x
.
Definition at line 74 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Constraint impulse, which is an output of MLCP solving.
Definition at line 71 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Cache variable for constraint Jacobian matrix.
Definition at line 117 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Cache variable for constraint Jacobian times inverse mass matrix.
Definition at line 120 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Cache variable for offsets.
Definition at line 123 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
MLCP solver.
Definition at line 104 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Constraint impulse, which is an output of MLCP solving.
Definition at line 39 of file btMultiBodyMLCPConstraintSolver.h.
|
protected |
Split impulse cache vector corresponding to m_x
.
Definition at line 57 of file btMultiBodyMLCPConstraintSolver.h.