javax.media.j3d

## Class ScaleInterpolator

- 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.ScaleInterpolator

-     public class ScaleInterpolator
      extends TransformInterpolator

  Scale interpolation behavior. This class defines a behavior that modifies the uniform scale component of its target TransformGroup by linearly interpolating between a pair of specified scale values (using the value generated by the specified Alpha object). The interpolated scale value is used to generate a scale transform in the local coordinate system 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
    `ScaleInterpolator(Alpha alpha, TransformGroup target)` Constructs a trivial scale interpolator that varies its target TransformGroup node between the two specified alpha values using the specified alpha, an identity matrix, a minimum scale = 0.1f, and a maximum scale = 1.0f.
    `ScaleInterpolator(Alpha alpha, TransformGroup target, Transform3D axisOfTransform, float minimumScale, float maximumScale)` Constructs a new scaleInterpolator object that varies its target TransformGroup node's scale component between two scale values (minimumScale and maximumScale).

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `getAxisOfScale()` Deprecated. As of Java 3D version 1.3, replaced by `TransformInterpolator.getTransformAxis()`
    `float` | `getMaximumScale()` This method retrieves this interpolator's maximumScale.
    `float` | `getMinimumScale()` This method retrieves this interpolator's minimumScale.
    `void` | `setAxisOfScale(Transform3D axisOfScale)` Deprecated. As of Java 3D version 1.3, replaced by `TransformInterpolator.setTransformAxis(Transform3D)`
    `void` | `setMaximumScale(float scale)` This method sets the maximumScale for this interpolator.
    `void` | `setMinimumScale(float scale)` This method sets the minimumScale for this interpolator.

    - ### 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

    - #### ScaleInterpolator

          public ScaleInterpolator(Alpha alpha,
                           TransformGroup target)

      Constructs a trivial scale interpolator that varies its target TransformGroup node between the two specified alpha values using the specified alpha, an identity matrix, a minimum scale = 0.1f, and a maximum scale = 1.0f.
      Parameters:
        `alpha` - the alpha object for this interpolator
        `target` - the TransformGroup node affected by this interpolator

    - #### ScaleInterpolator

          public ScaleInterpolator(Alpha alpha,
                           TransformGroup target,
                           Transform3D axisOfTransform,
                           float minimumScale,
                           float maximumScale)

      Constructs a new scaleInterpolator object that varies its target TransformGroup node's scale component between two scale values (minimumScale and maximumScale).
      Parameters:
        `alpha` - the alpha object for this interpolator
        `target` - the TransformGroup node affected by this interpolator
        `axisOfTransform` - the transform that defines the local coordinate system in which this interpolator operates; the scale is done about the origin of this local coordinate system.
        `minimumScale` - the starting scale
        `maximumScale` - the ending scale

  - ### Method Detail

    - #### setMinimumScale

          public void setMinimumScale(float scale)

      This method sets the minimumScale for this interpolator.
      Parameters:
        `scale` - The new minimal scale

    - #### getMinimumScale

          public float getMinimumScale()

      This method retrieves this interpolator's minimumScale.
      Returns:
        the interpolator's minimal scale value

    - #### setMaximumScale

          public void setMaximumScale(float scale)

      This method sets the maximumScale for this interpolator.
      Parameters:
        `scale` - the new maximum scale

    - #### getMaximumScale

          public float getMaximumScale()

      This method retrieves this interpolator's maximumScale.
      Returns:
        the interpolator's maximum scale vslue

    - #### setAxisOfScale

          public void setAxisOfScale(Transform3D axisOfScale)

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

    - #### getAxisOfScale

          public Transform3D getAxisOfScale()

      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)`

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.