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