public class LemkeContactSolver extends LemkeSolverBase
AUTO_EPSILON, AUTOMATIC_PIVOT_LIMIT, BASIC, NEW, PIVOT_LIMIT_EXCEEDED, SHOW_BASIS, SHOW_COLS, SHOW_LEXICO_COLS, SHOW_STATS, SOLVED, UNBOUNDED_RAY, W_VAR, Z_VAR, Z0
Constructor and Description |
---|
LemkeContactSolver() |
Modifier and Type | Method and Description |
---|---|
boolean |
checkQv(double[] qv) |
void |
computeMvCol(double[] y,
maspack.solvers.LemkeContactSolver.ContactVariable var) |
void |
computePivotKernel() |
void |
computeQv(double[] qv) |
java.lang.String |
getConfigString() |
int |
getNumFrictionDirections() |
boolean |
getReducibleSize() |
boolean |
getSmartDirections() |
boolean |
getVariableSize() |
boolean |
isFrictionEnabled() |
void |
setEpsilon(double eps) |
void |
setFrictionEnabled(boolean enable) |
void |
setNumFrictionDirections(int num) |
void |
setReducibleSize(boolean enable) |
void |
setSmartDirections(boolean enable) |
void |
setVariableSize(boolean enable) |
int |
solve(Twist tr,
ContactInfo[] contacts,
int ncontacts,
SpatialInertia inertia,
Twist tw,
double restitution)
Applies an impulse to a rigid body velocity to adjust for normal and
frictional contact forces.
|
int |
solve(Twist tr,
ContactInfo[] contacts,
int ncontacts,
SpatialInertia inertia,
Wrench wapplied,
double restitution) |
void |
solveColumn(double[] y,
Wrench vc,
double[] b,
Wrench bstar) |
cycleCheckingEnabled, getEpsilon, getPivotCount, getPivotLimit, lexicoMinRatioTest, resetPivotCount, setCycleChecking, setDebug, setPivotCount, setPivotLimit
public boolean isFrictionEnabled()
public void setFrictionEnabled(boolean enable)
public int getNumFrictionDirections()
public void setNumFrictionDirections(int num)
public void setEpsilon(double eps)
public void setVariableSize(boolean enable)
public boolean getVariableSize()
public void setReducibleSize(boolean enable)
public boolean getReducibleSize()
public void setSmartDirections(boolean enable)
public boolean getSmartDirections()
public void computePivotKernel()
public void computeMvCol(double[] y, maspack.solvers.LemkeContactSolver.ContactVariable var)
public boolean checkQv(double[] qv)
public void computeQv(double[] qv)
public int solve(Twist tr, ContactInfo[] contacts, int ncontacts, SpatialInertia inertia, Twist tw, double restitution)
tr
- velocity with contact impulse addedcontacts
- provides information about the each contactncontacts
- number of contactsinertia
- spatial inertia of the rigid bodytw
- initial velocity of the rigid bodyrestitution
- coefficent of restitutionpublic int solve(Twist tr, ContactInfo[] contacts, int ncontacts, SpatialInertia inertia, Wrench wapplied, double restitution)
public java.lang.String getConfigString()