com.sun.j3d.utils.behaviors.vp

## Class WandViewBehavior.ScaleListener2D

- java.lang.Object
- - com.sun.j3d.utils.behaviors.sensor.SensorInputAdaptor
  - - com.sun.j3d.utils.behaviors.vp.WandViewBehavior.ListenerBase
    - - com.sun.j3d.utils.behaviors.vp.WandViewBehavior.ScaleListener2D

- All Implemented Interfaces:
    SensorButtonListener, SensorReadListener
  Enclosing class:
    WandViewBehavior

      public class WandViewBehavior.ScaleListener2D
      extends WandViewBehavior.ListenerBase

  Implements a 2D valuator listener that scales the view platform. Pushing the valuator forwards gives the appearance of the virtual world increasing in size, while pushing the valuator backwards makes the virtual world appear to shrink. The X and Y values from the valuator should have a continuous range from -1.0 to +1.0, although the scale speed can be adjusted to compensate for a different range.

  This listener will work in conjunction with a 6DOF sensor if supplied in the constructor. If `setTransformCenterSource` has been called with the value `HOTSPOT`, then scaling is about the 6DOF sensor's hotspot; otherwise, the scaling center is the value set by `setTransformCenter`.

  See Also:
    `WandViewBehavior.setReadAction2D(int)`, `WandViewBehavior.setButtonAction2D(int, int)`, `WandViewBehavior.setScaleSpeed(double, int)`, `WandViewBehavior.setTransformCenter(javax.vecmath.Point3d)`, `WandViewBehavior.setThreshold2D(double)`, `WandViewBehavior.setMatrixIndices2D(int, int)`

- - ### Field Summary

    - ### Fields inherited from class com.sun.j3d.utils.behaviors.vp.WandViewBehavior.ListenerBase

      `sensorToTracker, sensorToVworld, trackerToVworld, viewPlatformToVworld`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WandViewBehavior.ScaleListener2D(Sensor sensor2D, Sensor sensor6D)` Construct an instance of this class with the specified sensors.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `dragged(SensorEvent e)` This method is called with each invocation of the `dispatchEvents` method of `SensorEventAgent` if any button bound to the listener is down and has not changed state since the last invocation.
    `protected void` | `endAction(Sensor s)` Ends the action.
    `protected void` | `initAction(Sensor s)` Initializes the listener action.
    `void` | `pressed(SensorEvent e)` This method is called when a sensor's button is pressed.
    `void` | `read(SensorEvent e)` This method is called each time the `dispatchEvents` method of `SensorEventAgent` is called and none of a sensor's buttons have been handled by a button listener.
    `void` | `released(SensorEvent e)` This method is called when a sensor's button is released.

    - ### Methods inherited from class com.sun.j3d.utils.behaviors.vp.WandViewBehavior.ListenerBase

      `conditionViewScale, getPhysicalToViewPlatformScale, getPhysicalToVirtualScale, isActive, transformAboutCenter, translateTransform`

    - ### Methods inherited from class com.sun.j3d.utils.behaviors.sensor.SensorInputAdaptor

      `clicked`

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

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

- - ### Constructor Detail

    - #### WandViewBehavior.ScaleListener2D

          public WandViewBehavior.ScaleListener2D(Sensor sensor2D,
                                          Sensor sensor6D)

      Construct an instance of this class with the specified sensors.
      Parameters:
        `sensor2D` - the 2D valuator whose Y value drive the scaling
        `sensor6D` - the 6DOF sensor to use if the rotation/scale center source is `HOTSPOT`; may be `null`

  - ### Method Detail

    - #### initAction

          protected void initAction(Sensor s)

      Description copied from class: `WandViewBehavior.ListenerBase`
      Initializes the listener action. Subclasses must call this before starting the action, either from `pressed` or when a 2D valuator exits the deadzone threshold.
      Overrides:
        `initAction` in class `WandViewBehavior.ListenerBase`
      Parameters:
        `s` - reference to a 6DOF sensor if used by the listener; may be `null`

    - #### endAction

          protected void endAction(Sensor s)

      Description copied from class: `WandViewBehavior.ListenerBase`
      Ends the action. Subclasses must be call this from `released` or when a 2D valuator enters the deadzone threshold.
      Overrides:
        `endAction` in class `WandViewBehavior.ListenerBase`
      Parameters:
        `s` - reference to a 6DOF sensor if used by the listener; may be `null`

    - #### read

          public void read(SensorEvent e)

      Description copied from interface: `SensorReadListener`
      This method is called each time the `dispatchEvents` method of `SensorEventAgent` is called and none of a sensor's buttons have been handled by a button listener. The sensor read value has not necessarily changed since the last read event.
      Specified by:
        `read` in interface `SensorReadListener`
      Overrides:
        `read` in class `SensorInputAdaptor`
      Parameters:
        `e` - the sensor event

    - #### pressed

          public void pressed(SensorEvent e)

      Description copied from interface: `SensorButtonListener`
      This method is called when a sensor's button is pressed.
      Specified by:
        `pressed` in interface `SensorButtonListener`
      Overrides:
        `pressed` in class `WandViewBehavior.ListenerBase`
      Parameters:
        `e` - the sensor event

    - #### released

          public void released(SensorEvent e)

      Description copied from interface: `SensorButtonListener`
      This method is called when a sensor's button is released.
      Specified by:
        `released` in interface `SensorButtonListener`
      Overrides:
        `released` in class `WandViewBehavior.ListenerBase`
      Parameters:
        `e` - the sensor event

    - #### dragged

          public void dragged(SensorEvent e)

      Description copied from interface: `SensorButtonListener`
      This method is called with each invocation of the `dispatchEvents` method of `SensorEventAgent` if any button bound to the listener is down and has not changed state since the last invocation. The sensor value has not necessarily changed from the last drag event.
      Specified by:
        `dragged` in interface `SensorButtonListener`
      Overrides:
        `dragged` in class `SensorInputAdaptor`
      Parameters:
        `e` - the sensor event

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