|
static void | sBuildIslands (Constraint **inActiveConstraints, uint32 inNumActiveConstraints, IslandBuilder &ioBuilder, BodyManager &inBodyManager) |
| Link bodies to form islands.
|
|
static void | sSortConstraints (Constraint **inActiveConstraints, uint32 *inConstraintIdxBegin, uint32 *inConstraintIdxEnd) |
| In order to have a deterministic simulation, we need to sort the constraints of an island before solving them.
|
|
static void | sSetupVelocityConstraints (Constraint **inActiveConstraints, uint32 inNumActiveConstraints, float inDeltaTime) |
| Prior to solving the velocity constraints, you must call SetupVelocityConstraints once to precalculate values that are independent of velocity.
|
|
template<class ConstraintCallback > |
static void | sWarmStartVelocityConstraints (Constraint **inActiveConstraints, const uint32 *inConstraintIdxBegin, const uint32 *inConstraintIdxEnd, float inWarmStartImpulseRatio, ConstraintCallback &ioCallback) |
| Apply last frame's impulses, must be called prior to SolveVelocityConstraints.
|
|
static bool | sSolveVelocityConstraints (Constraint **inActiveConstraints, const uint32 *inConstraintIdxBegin, const uint32 *inConstraintIdxEnd, float inDeltaTime) |
| This function is called multiple times to iteratively come to a solution that meets all velocity constraints.
|
|
static bool | sSolvePositionConstraints (Constraint **inActiveConstraints, const uint32 *inConstraintIdxBegin, const uint32 *inConstraintIdxEnd, float inDeltaTime, float inBaumgarte) |
| This function is called multiple times to iteratively come to a solution that meets all position constraints.
|
|
A constraint manager manages all constraints of the same type.