Package org.jbox2d.dynamics.contacts
Class ContactSolver
- java.lang.Object
-
- org.jbox2d.dynamics.contacts.ContactSolver
-
public class ContactSolver extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classContactSolver.ContactSolverDef
-
Field Summary
Fields Modifier and Type Field Description private Vec2aprivate Vec2bprivate Vec2dstatic booleanDEBUG_SOLVERprivate Vec2dv1private Vec2dv2static intINITIAL_NUM_CONSTRAINTSFor each solver, this is the initial number of constraints in the array, which expands as needed.static floatk_errorTolstatic floatk_maxConditionNumberEnsure a reasonable condition number.Contact[]m_contactsintm_countContactPositionConstraint[]m_positionConstraintsPosition[]m_positionsTimeStepm_stepVelocity[]m_velocitiesContactVelocityConstraint[]m_velocityConstraintsprivate Vec2Pprivate Vec2P1private Vec2P2private PositionSolverManifoldpsolverprivate Vec2rAprivate Vec2rBprivate Vec2tangentprivate Vec2tempprivate Vec2temp1private Vec2temp2private WorldManifoldworldManifoldprivate Vec2xprivate TransformxfAprivate TransformxfB
-
Constructor Summary
Constructors Constructor Description ContactSolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinit(ContactSolver.ContactSolverDef def)voidinitializeVelocityConstraints()booleansolvePositionConstraints()Sequential solver.booleansolveTOIPositionConstraints(int toiIndexA, int toiIndexB)voidsolveVelocityConstraints()voidstoreImpulses()voidwarmStart()
-
-
-
Field Detail
-
DEBUG_SOLVER
public static final boolean DEBUG_SOLVER
- See Also:
- Constant Field Values
-
k_errorTol
public static final float k_errorTol
- See Also:
- Constant Field Values
-
INITIAL_NUM_CONSTRAINTS
public static final int INITIAL_NUM_CONSTRAINTS
For each solver, this is the initial number of constraints in the array, which expands as needed.- See Also:
- Constant Field Values
-
k_maxConditionNumber
public static final float k_maxConditionNumber
Ensure a reasonable condition number. for the block solver- See Also:
- Constant Field Values
-
m_step
public TimeStep m_step
-
m_positions
public Position[] m_positions
-
m_velocities
public Velocity[] m_velocities
-
m_positionConstraints
public ContactPositionConstraint[] m_positionConstraints
-
m_velocityConstraints
public ContactVelocityConstraint[] m_velocityConstraints
-
m_contacts
public Contact[] m_contacts
-
m_count
public int m_count
-
tangent
private final Vec2 tangent
-
temp1
private final Vec2 temp1
-
temp2
private final Vec2 temp2
-
P
private final Vec2 P
-
temp
private final Vec2 temp
-
xfA
private final Transform xfA
-
xfB
private final Transform xfB
-
worldManifold
private final WorldManifold worldManifold
-
a
private final Vec2 a
-
b
private final Vec2 b
-
dv1
private final Vec2 dv1
-
dv2
private final Vec2 dv2
-
x
private final Vec2 x
-
d
private final Vec2 d
-
P1
private final Vec2 P1
-
P2
private final Vec2 P2
-
psolver
private final PositionSolverManifold psolver
-
rA
private final Vec2 rA
-
rB
private final Vec2 rB
-
-
Method Detail
-
init
public final void init(ContactSolver.ContactSolverDef def)
-
warmStart
public void warmStart()
-
initializeVelocityConstraints
public final void initializeVelocityConstraints()
-
solveVelocityConstraints
public final void solveVelocityConstraints()
-
storeImpulses
public void storeImpulses()
-
solvePositionConstraints
public final boolean solvePositionConstraints()
Sequential solver.
-
solveTOIPositionConstraints
public boolean solveTOIPositionConstraints(int toiIndexA, int toiIndexB)
-
-