Hinge : Helper

Hinge - superclass: Helper; super-superclass:Node - classID: #(1967289542, 1265062123)

Description:

The Hinge constraint allows you to simulate a hinge-like action between two bodies. It lets you specify an axis in body space for each body which will attempt to match position and direction, thereby creating an axis around which the two bodies can rotate. Alternatively, you can hinge a single body to an axis in world space. Rotation can also be limited relative to the hinge axis.

Constructors:

Hinge ...

rctHinge ...

Properties:

.childBody (Child_Body) : node

Get/Set the Child Body.

.parentBody (Parent_Body) : node

Get/Set the Parent Body.

.hasParentBody (Has_Parent) : boolean

When set to true, the Parent Body will be used in the simulation.

.isLimited (Is_Hinge_Limited) : boolean

When set to true, the simulation will respect the limits.

.minLimitAngle (Hinge_Minimum_Limit_Angle) : float

Get/Set the min. limit angle to be used when .isLimited is set to true.

.maxLimitAngle (Hinge_Maximum_Limit_Angle) : float

Get/Set the max. limit angle to be used when .isLimited is set to true.

.limitFriction (Hinge_Limit_Friction) : float

Get/Set the friction applied to the objects as they try to rotate about the hinge axis. It is only applied to limited hinges.

.iconSize (Icon_Size) : float

Get/Set the icon size. Corresponds to the "Display Limits" > "Size" value in the UI.

.isBreakable (Is_Breakable) : boolean

When set to true, the Hinge will be breakable. If its breakable limits are exceeded during simulation it will cease to exert impulses on the attached objects.

.linearBreakingStrength (Linear_Strength) : float

The linear breaking limit value used to when .isBreakable is set to true.

.angularBreakingStrength (Angular_Strength) : float

The angular breaking limit value used to when .isBreakable is set to true.

.strength : float

.tau : float

These two properties govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement.

.lockSpaces (Lock_Spaces) : boolean

When set to true, the relative transform between the child and parent constraint spaces is locked - if you move the child space in the viewport, the parent space will move with it, and vice-versa.

Interfaces

Interface: rctHingeInterface

Properties:

.parentBody : node : Read|Write

Get/Set the Parent Body.

.childBody : node : Read|Write

Get/Set the Child Body.

.hasParent : boolean : Read|Write

When set to true, the Parent Body will be used in the simulation.

.parentTransform : matrix3 by value : Read|Write

Get/Set the Parent Body's transformation matrix.

.childTransform : matrix3 by value : Read|Write

Get/Set the Child Body's transformation matrix.

.lockSpaces : boolean : Read|Write

When set to true, the relative transform between the child and parent constraint spaces is locked - if you move the child space in the viewport, the parent space will move with it, and vice-versa.

.strength : float : Read|Write

.tau : float : Read|Write

These two properties govern the impulses applied to the constraint's bodies in order to maintain the constraint, and so how strongly the constraint works to restrict their movement.

.isBreakable : boolean : Read|Write

When set to true, the Hinge will be breakable. If its breakable limits are exceeded during simulation it will cease to exert impulses on the attached objects.

.linearBreakingStrength : float : Read|Write

The linear breaking limit value used to when .isBreakable is set to true.

.angularBreakingStrength : float : Read|Write

The angular breaking limit value used to when .isBreakable is set to true.

.displaySize : float : Read|Write

Get/Set the icon size. Corresponds to the "Display Limits" > "Size" value in the UI.

.isLimited : boolean : Read|Write

When set to true, the simulation will respect the limits.

.limitFriction : float : Read|Write

Get/Set the friction applied to the objects as they try to rotate about the hinge axis. It is only applied to limited hinges.

.limitMinAngle : float : Read|Write

Get/Set the min. limit angle to be used when .isLimited is set to true.

.limitMaxAngle : float : Read|Write

Get/Set the max. limit angle to be used when .isLimited is set to true.

Methods:

<void>alignToParentBody()

Aligns the Constraint to the Parent Body.

<void>alignToChildBody()

Aligns the Constraint to the Child Body.

<void>alignToParentSpace()

Aligns the Constraint to parent space.

<void>alignToChildSpace()

Aligns the Constraint to child space.

<void>alignToEachBody()

Aligns the Constraint to both bodies.

<boolean>isValid()

Returns true if the Hinge is valid, false otherwise. A valid Hinge has the correct number of rigid bodies attached and is included in a valid constraint solver.

See also

MAXScript Extensions for Reactor