struct LimitLinearRange

Inherits: LimitCommon

Represents a joint limit between two distance values.

Lower value must be less than the upper value.

Public

Constructors

LimitLinearRange

LimitLinearRange()

Constructs an empty limit.

LimitLinearRange

LimitLinearRange(float lower, float upper, float contactDist = -1.F)

Constructs a hard limit.

Once the limit is reached the movement of the attached bodies will come to a stop.

lower
Lower distance of the limit. Must be less than .
upper
Upper distance of the limit. Must be more than .
contactDist
Distance from the limit at which it becomes active. Allows the solver to activate earlier than the limit is reached to avoid breaking the limit. Specify -1 for the default.

LimitLinearRange

LimitLinearRange(float lower, float upper, const Spring &spring, float restitution = 0.F)

Constructs a soft limit.

Once the limit is reached the bodies will bounce back according to the resitution parameter and will be pulled back towards the limit by the provided spring.

lower
Lower distance of the limit. Must be less than .
upper
Upper distance of the limit. Must be more than .
spring
Spring that controls how are the bodies pulled back towards the limit when they breach it.
restitution
Controls how do objects react when the limit is reached, values closer to zero specify non-ellastic collision, while those closer to one specify more ellastic (i.e bouncy) collision. Must be in [0, 1] range.

Fields

Lower

float Lower

Lower distance of the limit.

Must be less than #upper.

Upper

float Upper

Upper distance of the limit.

Must be more than #lower.

ContactDist

float ContactDist

Distance from the limit at which it becomes active.

Allows the solver to activate earlier than the limit is reached to avoid breaking the limit.

Restitution

float Restitution

Controls how do objects react when the limit is reached, values closer to zero specify non-ellastic collision, while those closer to one specify more ellastic (i.e bouncy) collision.

Must be in [0, 1] range.

Spring

Spring that controls how are the bodies pulled back towards the limit when they breach it.

Operators

operator==

bool operator==(const LimitLinearRange &other) const