|
| SixDOFConstraint (Body &inBody1, Body &inBody2, const SixDOFConstraintSettings &inSettings) |
| Construct six DOF constraint.
|
|
virtual EConstraintSubType | GetSubType () const override |
| Generic interface of a constraint.
|
|
virtual void | NotifyShapeChanged (const BodyID &inBodyID, Vec3Arg inDeltaCOM) override |
|
virtual void | SetupVelocityConstraint (float inDeltaTime) override |
|
virtual void | ResetWarmStart () override |
|
virtual void | WarmStartVelocityConstraint (float inWarmStartImpulseRatio) override |
|
virtual bool | SolveVelocityConstraint (float inDeltaTime) override |
|
virtual bool | SolvePositionConstraint (float inDeltaTime, float inBaumgarte) override |
|
virtual void | DrawConstraint (DebugRenderer *inRenderer) const override |
|
virtual void | DrawConstraintLimits (DebugRenderer *inRenderer) const override |
|
virtual void | SaveState (StateRecorder &inStream) const override |
| Saving state for replay.
|
|
virtual void | RestoreState (StateRecorder &inStream) override |
| Restoring state for replay.
|
|
virtual Ref< ConstraintSettings > | GetConstraintSettings () const override |
| Debug function to convert a constraint to its settings, note that this will not save to which bodies the constraint is connected to.
|
|
virtual Mat44 | GetConstraintToBody1Matrix () const override |
| Calculates the transform that transforms from constraint space to body 1 space. The first column of the matrix is the primary constraint axis (e.g. the hinge axis / slider direction), second column the secondary etc.
|
|
virtual Mat44 | GetConstraintToBody2Matrix () const override |
| Calculates the transform that transforms from constraint space to body 2 space. The first column of the matrix is the primary constraint axis (e.g. the hinge axis / slider direction), second column the secondary etc.
|
|
void | SetTranslationLimits (Vec3Arg inLimitMin, Vec3Arg inLimitMax) |
| Update the translation limits for this constraint.
|
|
void | SetRotationLimits (Vec3Arg inLimitMin, Vec3Arg inLimitMax) |
| Update the rotational limits for this constraint.
|
|
float | GetLimitsMin (EAxis inAxis) const |
| Get constraint Limits.
|
|
float | GetLimitsMax (EAxis inAxis) const |
|
Vec3 | GetTranslationLimitsMin () const |
|
Vec3 | GetTranslationLimitsMax () const |
|
Vec3 | GetRotationLimitsMin () const |
|
Vec3 | GetRotationLimitsMax () const |
|
bool | IsFixedAxis (EAxis inAxis) const |
| Check which axis are fixed/free.
|
|
bool | IsFreeAxis (EAxis inAxis) const |
|
const SpringSettings & | GetLimitsSpringSettings (EAxis inAxis) const |
| Update the limits spring settings.
|
|
void | SetLimitsSpringSettings (EAxis inAxis, const SpringSettings &inLimitsSpringSettings) |
|
void | SetMaxFriction (EAxis inAxis, float inFriction) |
| Set the max friction for each axis.
|
|
float | GetMaxFriction (EAxis inAxis) const |
|
Quat | GetRotationInConstraintSpace () const |
| Get rotation of constraint in constraint space.
|
|
MotorSettings & | GetMotorSettings (EAxis inAxis) |
| Motor settings.
|
|
const MotorSettings & | GetMotorSettings (EAxis inAxis) const |
|
void | SetMotorState (EAxis inAxis, EMotorState inState) |
|
EMotorState | GetMotorState (EAxis inAxis) const |
|
Vec3 | GetTargetVelocityCS () const |
| Set the target velocity in body 1 constraint space.
|
|
void | SetTargetVelocityCS (Vec3Arg inVelocity) |
|
void | SetTargetAngularVelocityCS (Vec3Arg inAngularVelocity) |
| Set the target angular velocity in body 2 constraint space (!)
|
|
Vec3 | GetTargetAngularVelocityCS () const |
|
Vec3 | GetTargetPositionCS () const |
| Set the target position in body 1 constraint space.
|
|
void | SetTargetPositionCS (Vec3Arg inPosition) |
|
void | SetTargetOrientationCS (QuatArg inOrientation) |
| Set the target orientation in body 1 constraint space.
|
|
Quat | GetTargetOrientationCS () const |
|
void | SetTargetOrientationBS (QuatArg inOrientation) |
|
Public Member Functions inherited from TwoBodyConstraint |
JPH_OVERRIDE_NEW_DELETE | TwoBodyConstraint (Body &inBody1, Body &inBody2, const TwoBodyConstraintSettings &inSettings) |
| Constructor.
|
|
virtual EConstraintType | GetType () const override |
| Get the type of a constraint.
|
|
virtual bool | IsActive () const override |
| Solver interface.
|
|
virtual void | DrawConstraintReferenceFrame (DebugRenderer *inRenderer) const override |
|
Body * | GetBody1 () const |
| Access to the connected bodies.
|
|
Body * | GetBody2 () const |
|
virtual void | BuildIslands (uint32 inConstraintIndex, IslandBuilder &ioBuilder, BodyManager &inBodyManager) override |
| Link bodies that are connected by this constraint in the island builder.
|
|
virtual uint | BuildIslandSplits (LargeIslandSplitter &ioSplitter) const override |
| Link bodies that are connected by this constraint in the same split. Returns the split index.
|
|
JPH_OVERRIDE_NEW_DELETE | Constraint (const ConstraintSettings &inSettings) |
| Constructor.
|
|
virtual | ~Constraint ()=default |
| Virtual destructor.
|
|
uint32 | GetConstraintPriority () const |
|
void | SetConstraintPriority (uint32 inPriority) |
|
void | SetNumVelocityStepsOverride (uint inN) |
| Used only when the constraint is active. Override for the number of solver velocity iterations to run, 0 means use the default in PhysicsSettings::mNumVelocitySteps. The number of iterations to use is the max of all contacts and constraints in the island.
|
|
uint | GetNumVelocityStepsOverride () const |
|
void | SetNumPositionStepsOverride (uint inN) |
| Used only when the constraint is active. Override for the number of solver position iterations to run, 0 means use the default in PhysicsSettings::mNumPositionSteps. The number of iterations to use is the max of all contacts and constraints in the island.
|
|
uint | GetNumPositionStepsOverride () const |
|
void | SetEnabled (bool inEnabled) |
|
bool | GetEnabled () const |
| Test if a constraint is enabled.
|
|
uint64 | GetUserData () const |
| Access to the user data, can be used for anything by the application.
|
|
void | SetUserData (uint64 inUserData) |
|
float | GetDrawConstraintSize () const |
| Size of constraint when drawing it through the debug renderer.
|
|
void | SetDrawConstraintSize (float inSize) |
|
| RefTarget ()=default |
| Constructor.
|
|
| RefTarget (const RefTarget &) |
|
| ~RefTarget () |
| assert no one is referencing us
|
|
void | SetEmbedded () const |
|
RefTarget & | operator= (const RefTarget &) |
| Assignment operator.
|
|
uint32 | GetRefCount () const |
| Get current refcount of this object.
|
|
void | AddRef () const |
| Add or release a reference to this object.
|
|
void | Release () const |
|
| NonCopyable ()=default |
|
| NonCopyable (const NonCopyable &)=delete |
|
void | operator= (const NonCopyable &)=delete |
|
6 Degree Of Freedom Constraint. Allows control over each of the 6 degrees of freedom.