public class WandViewBehavior.RotationListener2D extends WandViewBehavior.ListenerBase
setMatrixIndices2D
, with defaults of 3 and 7 respectively.
The rotation direction is controlled by the direction the 2D valuator is pushed, and the rotation speed is scaled by the magnitude of the 2D valuator read values.
This listener will work in conjunction with a 6DOF sensor if supplied
in the constructor. If a 6DOF sensor is provided and
setRotationCoords
has been called with the value
SENSOR
, then the rotation is applied in the 6DOF sensor's
coordinate system; otherwise the rotation is applied either in head
coordinates or in view platform coordinates. If a 6DOF sensor is
provided and setTransformCenterSource
has been called with
the value HOTSPOT
, then rotation is about the 6DOF
sensor's hotspot; otherwise, the rotation center is the value set by
setTransformCenter
.
WandViewBehavior.setReadAction2D(int)
,
WandViewBehavior.setButtonAction2D(int, int)
,
WandViewBehavior.setRotationCoords(int)
,
WandViewBehavior.setTransformCenterSource(int)
,
WandViewBehavior.setTransformCenter(org.jogamp.vecmath.Point3d)
,
WandViewBehavior.setRotationSpeed(double, int, int)
,
WandViewBehavior.setThreshold2D(double)
,
WandViewBehavior.setMatrixIndices2D(int, int)
Constructor and Description |
---|
RotationListener2D(Sensor sensor2D,
Sensor sensor6D)
Construct an instance of this class with the specified sensors.
|
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. |
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.
|
clicked
public RotationListener2D(Sensor sensor2D, Sensor sensor6D)
sensor2D
- the 2D valuator whose X and Y values drive the
rotationsensor6D
- the 6DOF sensor to use if the rotation coordinate
system is set to SENSOR
or the rotation center source
is HOTSPOT
; may be null
public void read(SensorEvent e)
SensorReadListener
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.read
in interface SensorReadListener
read
in class SensorInputAdaptor
e
- the sensor eventpublic void pressed(SensorEvent e)
SensorButtonListener
pressed
in interface SensorButtonListener
pressed
in class WandViewBehavior.ListenerBase
e
- the sensor eventpublic void released(SensorEvent e)
SensorButtonListener
released
in interface SensorButtonListener
released
in class WandViewBehavior.ListenerBase
e
- the sensor eventpublic void dragged(SensorEvent e)
SensorButtonListener
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.dragged
in interface SensorButtonListener
dragged
in class SensorInputAdaptor
e
- the sensor event