: Class ScaleInterpolator

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

public class ScaleInterpolator
extends Interpolator

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.

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_PICK, 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 axisOfScale, 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` | `duplicateNode(Node originalNode, boolean forceDuplicate)` Copies all node information from `originalNode` into the current node.
`Transform3D` | `getAxisOfScale()` This method retrieves this interpolator's axis of scale transform.
`float` | `getMaximumScale()` This method retrieves this interpolator's maximumScale.
`float` | `getMinimumScale()` This method retrieves this interpolator's minimumScale.
`TransformGroup` | `getTarget()` This method retrieves this interpolator's target TransformGroup reference.
`void` | `processStimulus(java.util.Enumeration criteria)` This method is invoked by the behavior scheduler every frame.
`void` | `setAxisOfScale(Transform3D axisOfScale)` This method sets the axis of scale transform for this interpolator.
`void` | `setMaximumScale(float scale)` This method sets the maximumScale for this interpolator.
`void` | `setMinimumScale(float scale)` This method sets the minimumScale for this interpolator.
`void` | `setTarget(TransformGroup target)` This method sets the target TransformGroup for this interpolator.
`void` | `updateNodeReferences(NodeReferenceTable referenceTable)` Callback used to allow a node to check if any scene graph objects referenced by that node have been duplicated via a call to `cloneTree`.

Methods inherited from class javax.media.j3d.Interpolator
`getAlpha, initialize, setAlpha`

Methods inherited from class javax.media.j3d.Behavior
`getEnable, getSchedulingBoundingLeaf, getSchedulingBounds, getView, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, wakeupOn`

Methods inherited from class javax.media.j3d.Node
`cloneTree, cloneTree, cloneTree, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

Methods inherited from class javax.media.j3d.SceneGraphObject
`clearCapability, duplicateSceneGraphObject, getCapability, getUserData, isCompiled, isLive, setCapability, setUserData`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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 axisOfScale,
                             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
    `axisOfScale` - 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)

  This method sets the axis of scale transform for this interpolator.
  Parameters:
    `axisOfScale` - defines the local coordinate system in which this interpolator operates

### getAxisOfScale

    public Transform3D getAxisOfScale()

  This method retrieves this interpolator's axis of scale transform.
  Returns:
    the interpolator's axis of scale

### setTarget

    public void setTarget(TransformGroup target)

  This method sets the target TransformGroup for this interpolator.
  Parameters:
    `target` - the target TransformGroup

### getTarget

    public TransformGroup getTarget()

  This method retrieves this interpolator's target TransformGroup reference.
  Returns:
    the interpolator's target TransformGroup

### processStimulus

    public void processStimulus(java.util.Enumeration criteria)

  This method is invoked by the behavior scheduler every frame. It maps the alpha value that corresponds to the current time into a scale value, computes a transform based on this value, and updates the specified TransformGroup node with this new transform.
  Overrides:
    processStimulus in class Behavior
  Parameters:
    `criteria` - an enumeration of the criteria that caused the stimulus

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

### duplicateNode

    public void duplicateNode(Node originalNode,
                              boolean forceDuplicate)

  Copies all node information from `originalNode` into the current node. This method is called from the `cloneNode` method which is, in turn, called by the `cloneTree` method.

  For any NodeComponent objects contained by the object being duplicated, each NodeComponent object's `duplicateOnCloneTree` value is used to determine whether the NodeComponent should be duplicated in the new node or if just a reference to the current node should be placed in the new node. This flag can be overridden by setting the `forceDuplicate` parameter in the `cloneTree` method to `true`.

  Overrides:
    duplicateNode in class Interpolator
  Parameters:
    `originalNode` - the original node to duplicate.
    `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)`, `NodeComponent.setDuplicateOnCloneTree(boolean)`

### updateNodeReferences

    public void updateNodeReferences(NodeReferenceTable referenceTable)

  Callback used to allow a node to check if any scene graph objects referenced by that node have been duplicated via a call to `cloneTree`. This method is called by `cloneTree` after all nodes in the sub-graph have been duplicated. The cloned Leaf node's method will be called and the Leaf node can then look up any object references by using the `getNewObjectReference` method found in the `NodeReferenceTable` object. If a match is found, a reference to the corresponding object in the newly cloned sub-graph is returned. If no corresponding reference is found, either a DanglingReferenceException is thrown or a reference to the original object is returned depending on the value of the `allowDanglingReferences` parameter passed in the `cloneTree` call.
  Overrides:
    updateNodeReferences in class Behavior
  Parameters:
    `referenceTable` - a NodeReferenceTableObject that contains the `getNewObjectReference` method needed to search for new object instances.
  See Also:
    `NodeReferenceTable`, `Node.cloneTree()`, `DanglingReferenceException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD