class IJointImplementation

Low-level interface for a joint used by the Joint component.

Should be implemented by the physics plugin to provide joint functionality.

Public

Methods

~IJointImplementation

virtual ~IJointImplementation() noexcept = default

SetBody

virtual void SetBody(JointBody body, Rigidbody *value) = 0

Determines a body managed by the joint.

One of the bodies must be movable (non-kinematic).

GetBody

virtual Rigidbody *GetBody(JointBody body) const = 0

GetPosition

virtual Vector3 GetPosition(JointBody body) const = 0

GetRotation

virtual Quaternion GetRotation(JointBody body) const = 0

SetTransform

virtual void SetTransform(JointBody body, const Vector3 &position, const Quaternion &rotation) = 0

SetBreakForce

virtual void SetBreakForce(float force) = 0

Determines the maximum force the joint can apply before breaking.

Broken joints no longer participate in physics simulation.

GetBreakForce

virtual float GetBreakForce() const = 0

SetBreakTorque

virtual void SetBreakTorque(float torque) = 0

Determines the maximum torque the joint can apply before breaking.

Broken joints no longer participate in physics simulation.

GetBreakTorque

virtual float GetBreakTorque() const = 0

SetEnableCollision

virtual void SetEnableCollision(bool value) = 0

Determines whether collision between the two bodies managed by the joint are enabled.

GetEnableCollision

virtual bool GetEnableCollision() const = 0