# Class WandViewBehavior.TranslationListener2D

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

All Implemented Interfaces:
  `SensorButtonListener, SensorReadListener`

Enclosing class:
  `WandViewBehavior`

public class WandViewBehavior.TranslationListener2D extends WandViewBehavior.ListenerBase
Implements a 2D valuator listener that translates the view platform. The X and Y values from the valuator should have a continuous range from -1.0 to +1.0, although the translation speed can be scaled to compensate for a different range. The X and Y values are found in the sensor's read matrix at the indices specified by `setMatrixIndices2D`, with defaults of 3 and 7 respectively.

The translation direction is controlled by the direction the 2D valuator is pushed, and the speed is the translation speed scaled by the fast speed factor and the magnitude of the 2D valuator reads.

This listener will work in conjunction with a 6DOF sensor if supplied in the constructor. If a 6DOF sensor is provided then the translation occurs along the basis vectors of the 6DOF sensor's coordinate system; otherwise, the translation occurs along the view platform's basis vectors.

Since:
  Java 3D 1.3
See Also:
  - `WandViewBehavior.setReadAction2D(int)`
  - `WandViewBehavior.setButtonAction2D(int, int)`
  - `WandViewBehavior.setTranslationSpeed(double, int, int)`
  - `WandViewBehavior.setFastSpeedFactor(double)`
  - `WandViewBehavior.setThreshold2D(double)`
  - `WandViewBehavior.setMatrixIndices2D(int, int)`

## Field Summary

### Fields inherited from class WandViewBehavior.ListenerBase

`sensorToTracker, sensorToVworld, trackerToVworld, viewPlatformToVworld`

## Constructor Summary

Constructors
Constructor
Description
`TranslationListener2D(Sensor sensor2D, Sensor sensor6D)`
Construct an instance of this class using the specified sensors.

## Method Summary

Modifier and Type
Method
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 WandViewBehavior.ListenerBase

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

### Methods inherited from class SensorInputAdaptor

`clicked`

### Methods inherited from class Object

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

## Constructor Details

### TranslationListener2D

public TranslationListener2D(Sensor sensor2D, Sensor sensor6D)
Construct an instance of this class using the specified sensors.

Parameters:
  `sensor2D` - 2D valuator sensor for translation
  `sensor6D` - 6DOF sensor for translation direction; may be `null`

## Method Details

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