com.sun.j3d.utils.behaviors.vp
Class WandViewBehavior.ScaleListener2D

java.lang.Object
  extended by com.sun.j3d.utils.behaviors.sensor.SensorInputAdaptor
      extended by com.sun.j3d.utils.behaviors.vp.WandViewBehavior.ListenerBase
          extended by 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
WandViewBehavior.ScaleListener2D(Sensor sensor2D, Sensor sensor6D)
          Construct an instance of this class with 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.
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 (c) 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.