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 class
ContactSolver.ContactSolverDef
-
Field Summary
Fields Modifier and Type Field Description private Vec2
a
private Vec2
b
private Vec2
d
static boolean
DEBUG_SOLVER
private Vec2
dv1
private Vec2
dv2
static int
INITIAL_NUM_CONSTRAINTS
For each solver, this is the initial number of constraints in the array, which expands as needed.static float
k_errorTol
static float
k_maxConditionNumber
Ensure a reasonable condition number.Contact[]
m_contacts
int
m_count
ContactPositionConstraint[]
m_positionConstraints
Position[]
m_positions
TimeStep
m_step
Velocity[]
m_velocities
ContactVelocityConstraint[]
m_velocityConstraints
private Vec2
P
private Vec2
P1
private Vec2
P2
private PositionSolverManifold
psolver
private Vec2
rA
private Vec2
rB
private Vec2
tangent
private Vec2
temp
private Vec2
temp1
private Vec2
temp2
private WorldManifold
worldManifold
private Vec2
x
private Transform
xfA
private Transform
xfB
-
Constructor Summary
Constructors Constructor Description ContactSolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
init(ContactSolver.ContactSolverDef def)
void
initializeVelocityConstraints()
boolean
solvePositionConstraints()
Sequential solver.boolean
solveTOIPositionConstraints(int toiIndexA, int toiIndexB)
void
solveVelocityConstraints()
void
storeImpulses()
void
warmStart()
-
-
-
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)
-
-