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:
    SoPendulum, SoShuttle
    • Field Detail

      • 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 Detail

      • SoRotor

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