javax.media.j3d

## Class RotationInterpolator

- java.lang.Object
- - javax.media.j3d.SceneGraphObject
  - - javax.media.j3d.Node
    - - javax.media.j3d.Leaf
      - - javax.media.j3d.Behavior
        - - javax.media.j3d.Interpolator
          - - javax.media.j3d.TransformInterpolator
            - - javax.media.j3d.RotationInterpolator

    public class RotationInterpolator
    extends TransformInterpolator

Rotation interpolator behavior. This class defines a behavior that modifies the rotational component of its target TransformGroup by linearly interpolating between a pair of specified angles (using the value generated by the specified Alpha object). The interpolated angle is used to generate a rotation transform about the local Y-axis of this interpolator.

### Field Summary

### Fields inherited from class javax.media.j3d.TransformInterpolator

`axis, axisInverse, target`

### Fields inherited from class javax.media.j3d.Interpolator

`defaultWakeupCriterion`

### Fields inherited from class javax.media.j3d.Node

`ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING`

### Constructor Summary

Constructors
Constructor and Description
`RotationInterpolator(Alpha alpha, TransformGroup target)` Constructs a trivial rotation interpolator with a specified target, an default axisOfTranform set to identity, a minimum angle of 0.0f, and a maximum angle of 2*pi radians.
`RotationInterpolator(Alpha alpha, TransformGroup target, Transform3D axisOfTransform, float minimumAngle, float maximumAngle)` Constructs a new rotation interpolator that varies the target transform node's rotational component.

### Method Summary

Methods
`Node` `cloneNode(boolean forceDuplicate)` Used to create a new instance of the node.
`void` `computeTransform(float alphaValue, Transform3D transform)` Computes the new transform for this interpolator for a given alpha value.
`Transform3D` `getAxisOfRotation()` Deprecated. As of Java 3D version 1.3, replaced by `TransformInterpolator.getTransformAxis()`
`float` `getMaximumAngle()` This method retrieves this interpolator's maximumAngle, in radians.
`float` `getMinimumAngle()` This method retrieves this interpolator's minimumAngle, in radians.
`void` `setAxisOfRotation(Transform3D axisOfRotation)` Deprecated. As of Java 3D version 1.3, replaced by `TransformInterpolator.setTransformAxis(Transform3D)`
`void` `setMaximumAngle(float angle)` This method sets the maximumAngle for this interpolator, in radians.
`void` `setMinimumAngle(float angle)` This method sets the minimumAngle for this interpolator, in radians.

### Methods inherited from class javax.media.j3d.TransformInterpolator

`getTarget, getTransformAxis, processStimulus, setTarget, setTransformAxis, updateNodeReferences`

### Methods inherited from class javax.media.j3d.Interpolator

`getAlpha, initialize, setAlpha`

### Methods inherited from class javax.media.j3d.Behavior

`getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOn`

### Methods inherited from class javax.media.j3d.Node

`cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

### Methods inherited from class javax.media.j3d.SceneGraphObject

`clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### RotationInterpolator

    public RotationInterpolator(Alpha alpha,
                        TransformGroup target)

Constructs a trivial rotation interpolator with a specified target, an default axisOfTranform set to identity, a minimum angle of 0.0f, and a maximum angle of 2*pi radians.

Parameters:
  `alpha` - The alpha object for this Interpolator
  `target` - The target for this rotation Interpolator

#### RotationInterpolator

    public RotationInterpolator(Alpha alpha,
                        TransformGroup target,
                        Transform3D axisOfTransform,
                        float minimumAngle,
                        float maximumAngle)

Constructs a new rotation interpolator that varies the target transform node's rotational component.

Parameters:
  `alpha` - the alpha generator to use in the rotation computation
  `target` - the TransformGroup node affected by this interpolator
  `axisOfTransform` - the transform that defines the local coordinate system in which this interpolator operates. The rotation is done about the Y-axis of this local coordinate system.
  `minimumAngle` - the starting angle in radians
  `maximumAngle` - the ending angle in radians

### Method Detail

#### setMinimumAngle

    public void setMinimumAngle(float angle)

This method sets the minimumAngle for this interpolator, in radians.

Parameters:
  `angle` - the new minimal angle

#### getMinimumAngle

    public float getMinimumAngle()

This method retrieves this interpolator's minimumAngle, in radians.

Returns:
  the interpolator's minimal angle value

#### setMaximumAngle

    public void setMaximumAngle(float angle)

This method sets the maximumAngle for this interpolator, in radians.

Parameters:
  `angle` - the new maximal angle value

#### getMaximumAngle

    public float getMaximumAngle()

This method retrieves this interpolator's maximumAngle, in radians.

Returns:
  the interpolator's maximal angle value

#### setAxisOfRotation

    public void setAxisOfRotation(Transform3D axisOfRotation)

Deprecated. As of Java 3D version 1.3, replaced by `TransformInterpolator.setTransformAxis(Transform3D)`

#### getAxisOfRotation

    public Transform3D getAxisOfRotation()

Deprecated. As of Java 3D version 1.3, replaced by `TransformInterpolator.getTransformAxis()`

#### computeTransform

    public void computeTransform(float alphaValue,
                        Transform3D transform)

Computes the new transform for this interpolator for a given alpha value.

Specified by:
  `computeTransform` in class `TransformInterpolator`
Parameters:
  `alphaValue` - alpha value between 0.0 and 1.0
  `transform` - object that receives the computed transform for the specified alpha value
Since:
  Java 3D 1.3

#### cloneNode

    public Node cloneNode(boolean forceDuplicate)

Used to create a new instance of the node. This routine is called by `cloneTree` to duplicate the current node.

Overrides:
  `cloneNode` in class `Node`
Parameters:
  `forceDuplicate` - when set to `true`, causes the `duplicateOnCloneTree` flag to be ignored. When `false`, the value of each node's `duplicateOnCloneTree` variable determines whether NodeComponent data is duplicated or copied.
See Also:
  `Node.cloneTree()`, `Node.cloneNode(boolean)`, `Node.duplicateNode(javax.media.j3d.Node, boolean)`, `NodeComponent.setDuplicateOnCloneTree(boolean)`