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

java.lang.Object
  |
  +--com.sun.j3d.utils.behaviors.sensor.SensorInputAdaptor
        |
        +--com.sun.j3d.utils.behaviors.vp.WandViewBehavior.ListenerBase
All Implemented Interfaces:
SensorButtonListener, SensorReadListener
Direct Known Subclasses:
WandViewBehavior.GrabViewListener6D, WandViewBehavior.RotationListener2D, WandViewBehavior.RotationListener6D, WandViewBehavior.ScaleListener2D, WandViewBehavior.ScaleListener6D, WandViewBehavior.TranslationListener2D, WandViewBehavior.TranslationListener6D
Enclosing class:
WandViewBehavior

public class WandViewBehavior.ListenerBase
extends SensorInputAdaptor

A base class for implementing some of this behavior's listeners.


Field Summary
protected  Transform3D sensorToTracker
          The initial transform from sensor coordinates to tracker base coordinates, set by initAction.
protected  Transform3D sensorToVworld
          The initial transform from sensor coordinates to virtual world coordinates, set by initAction.
protected  Transform3D trackerToVworld
          The initial transform from tracker base coordinates to virtual world coordinates, set by initAction.
protected  Transform3D viewPlatformToVworld
          The initial transform from view platform coordinates to virtual world coordinates, set by initAction.
 
Constructor Summary
WandViewBehavior.ListenerBase()
           
 
Method Summary
protected  void conditionViewScale(Transform3D viewPlatformToVworld)
          Equalizes the scale factors in the view tranform, which must be congruent.
protected  void endAction(Sensor s)
          Ends the action.
protected  double getPhysicalToViewPlatformScale()
          Gets the scale from physical units to view platform units.
protected  double getPhysicalToVirtualScale()
          Gets the physical to virtual scale.
protected  void initAction(Sensor s)
          Initializes the listener action.
protected  boolean isActive()
          Returns true if the listener is currently active; that is, if initAction has been called but not yet endAction.
 void pressed(SensorEvent e)
          This method is called when a sensor's button is pressed.
 void released(SensorEvent e)
          This method is called when a sensor's button is released.
protected  void transformAboutCenter(Transform3D target, Point3d center, Transform3D transform)
          Transforms the target coordinate system about a center point.
protected  void translateTransform(Transform3D transform, Vector3d translation)
          Translates a coordinate system.
 
Methods inherited from class com.sun.j3d.utils.behaviors.sensor.SensorInputAdaptor
clicked, dragged, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

viewPlatformToVworld

protected Transform3D viewPlatformToVworld
The initial transform from view platform coordinates to virtual world coordinates, set by initAction.


trackerToVworld

protected Transform3D trackerToVworld
The initial transform from tracker base coordinates to virtual world coordinates, set by initAction.


sensorToVworld

protected Transform3D sensorToVworld
The initial transform from sensor coordinates to virtual world coordinates, set by initAction.


sensorToTracker

protected Transform3D sensorToTracker
The initial transform from sensor coordinates to tracker base coordinates, set by initAction.

Constructor Detail

WandViewBehavior.ListenerBase

public WandViewBehavior.ListenerBase()
Method Detail

initAction

protected void initAction(Sensor s)
Initializes the listener action. Subclasses must call this before starting the action, either from pressed or when a 2D valuator exits the deadzone threshold.

Parameters:
s - reference to a 6DOF sensor if used by the listener; may be null

endAction

protected void endAction(Sensor s)
Ends the action. Subclasses must be call this from released or when a 2D valuator enters the deadzone threshold.

Parameters:
s - reference to a 6DOF sensor if used by the listener; may be null

isActive

protected boolean isActive()
Returns true if the listener is currently active; that is, if initAction has been called but not yet endAction.

Returns:
true if the listener is active, false otherwise

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 SensorInputAdaptor
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 SensorInputAdaptor
Parameters:
e - the sensor event

getPhysicalToVirtualScale

protected double getPhysicalToVirtualScale()
Gets the physical to virtual scale.


getPhysicalToViewPlatformScale

protected double getPhysicalToViewPlatformScale()
Gets the scale from physical units to view platform units.


translateTransform

protected void translateTransform(Transform3D transform,
                                  Vector3d translation)
Translates a coordinate system.

Parameters:
transform - the coordinate system to be translated
translation - the vector by which to translate

transformAboutCenter

protected void transformAboutCenter(Transform3D target,
                                    Point3d center,
                                    Transform3D transform)
Transforms the target coordinate system about a center point. This can be used for rotation and scaling.

Parameters:
target - the coordinate system to transform
center - the center point about which to transform
transform - the transform to apply

conditionViewScale

protected void conditionViewScale(Transform3D viewPlatformToVworld)
Equalizes the scale factors in the view tranform, which must be congruent. If successful, the ViewingPlatform TransformGroup is updated; otherwise, its transform is reset to the home transform. This should be called if multiple incremental scale factors are applied to the view transform.

Parameters:
viewPlatformToVworld - the view transform