javax.media.ding3d.utils.behaviors.vp
Class WandViewBehavior.TranslationListener2D

java.lang.Object
  extended by javax.media.ding3d.utils.behaviors.sensor.SensorInputAdaptor
      extended by javax.media.ding3d.utils.behaviors.vp.WandViewBehavior.ListenerBase
          extended by javax.media.ding3d.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.

See Also:
WandViewBehavior.setReadAction2D(int), WandViewBehavior.setButtonAction2D(int, int), WandViewBehavior.setTranslationSpeed(double, int, int), WandViewBehavior.setFastSpeedFactor(double), WandViewBehavior.setThreshold2D(double), WandViewBehavior.setMatrixIndices2D(int, int)

Constructor Summary
WandViewBehavior.TranslationListener2D(Sensor sensor2D, Sensor sensor6D)
          Construct an instance of this class using the specified sensors.
 
Method Summary
 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.
 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 javax.media.ding3d.utils.behaviors.sensor.SensorInputAdaptor
clicked
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WandViewBehavior.TranslationListener2D

public WandViewBehavior.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 Detail

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