Class SoRotor

All Implemented Interfaces:
SafeDisposable

public class SoRotor extends SoRotation
Animated rotation node. The SoRotor class is derived from SoRotation, so it applies a rotation to the current transformation. Using engines connected to the realTime global field, the rotation value is animated over time, achieving a spinning effect. The period of the rotation can be adjusted by changing the speed field.

The current rotation at any time is available in the rotation field, inherited from SoRotation. This field can also be set to specify the axis of rotation.

Note that unless a non-zero rotation is specified for the rotation, the node will not know which axis to use. For example, to set a rotor to spin about the y-axis, use the following:

 SoRotor rotor = new SoRotor();
 rotor.rotation.setValue( new SbVec3f(0,1,0), 0.1f );
Any non-zero value can be used for the angle.

File format/default:

Rotor {

    rotation 0 0 1 0
    speed 1
    on true
}

Action behavior:

SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
Concatenates current rotation value with the current transformation matrix.

SoGetMatrixAction
Returns transformation matrix specified by the rotation.

See Also:
  • Field Details

    • speed

      public final SoSFFloat speed
      Defines the speed of the rotor, in revolutions per second.
    • on

      public final SoSFBool on
      Allows applications to enable or disable the motion easily.
  • Constructor Details

    • SoRotor

      public SoRotor()
      Creates a rotor node with default settings.