A_Dashpot : Helper

A_Dashpot - superclass: Helper; super-superclass:Node - classID: #(827136949, 706939865)

Description:

You can use an Angular Dashpot to constrain the relative orientation of two rigid bodies, or the absolute orientation of a rigid body in world space. When simulating, the dashpot exerts impulses on the bodies to which it is attached in an attempt to maintain the specified rotation between the objects. You can specify the dashpot’s strength and damping, and whether collisions between the system’s bodies are disabled.

An angular dashpot has two sets of axes as sub-objects. For two-bodied dashpots, these are specified as offset rotations from the dashpot’s bodies. For single-bodied dashpots, one sub-object is an offset rotation and the other is a world rotation. In a simulation, the dashpot tries to maintain a common rotation for these axes.

Constructors:

A_Dashpot ...

rctAngularDashpot ...

Properties

.childBody (Child_Body) : node

Get/Set the Child Body.

.hasParent (Has_Parent) : boolean

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

.parentBody (Parent_Body) : node

Get/Set the Parent Body.

.strength : float

Get/Set the strength value which governs the size of the impulse the dashpot will apply to each attached body, taking into account the difference in their relative offset rotations (Child Space and Parent Space). The strength value is mass dependent.

.damping : float

Get/Set the samping value which affects how quickly the oscillation of the angular dashpot settles down. It governs the impulse applied to the connected bodies due to their relative angular velocities.

.allowInterpenetration (Allow_Interpenetration) : boolean

When set to true, collisions are disabled between the dashpot’s objects - during the simulation, they will be able to pass through each other. Defaults to false.

.disabled : boolean

When set to true, the dashpot is not added to the simulation

.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: rctAngularDashpotInterface

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

Get/Set the strength value which governs the size of the impulse the dashpot will apply to each attached body, taking into account the difference in their relative offset rotations (Child Space and Parent Space). The strength value is mass dependent.

.damping : float : Read|Write

Get/Set the samping value which affects how quickly the oscillation of the angular dashpot settles down. It governs the impulse applied to the connected bodies due to their relative angular velocities.

.allowInterpenetrations : boolean : Read|Write

When set to true, collisions are disabled between the dashpot’s objects - during the simulation, they will be able to pass through each other. Defaults to false.

.isDisabled : boolean : Read|Write

When set to true, the dashpot is not added to the simulation

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 Constraint is valid, false otherwise. A valid Constraint has the correct number of rigid bodies attached and is included in a valid constraint solver.

See also

MAXScript Extensions for Reactor