Package 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
Fields Modifier and Type Field Description protected Transform3D
sensorToTracker
The initial transform from sensor coordinates to tracker base coordinates, set byinitAction
.protected Transform3D
sensorToVworld
The initial transform from sensor coordinates to virtual world coordinates, set byinitAction
.protected Transform3D
trackerToVworld
The initial transform from tracker base coordinates to virtual world coordinates, set byinitAction
.protected Transform3D
viewPlatformToVworld
The initial transform from view platform coordinates to virtual world coordinates, set byinitAction
.
-
Constructor Summary
Constructors Constructor Description ListenerBase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, ifinitAction
has been called but not yetendAction
.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, javax.vecmath.Point3d center, Transform3D transform)
Transforms the target coordinate system about a center point.protected void
translateTransform(Transform3D transform, javax.vecmath.Vector3d translation)
Translates a coordinate system.-
Methods inherited from class com.sun.j3d.utils.behaviors.sensor.SensorInputAdaptor
clicked, dragged, read
-
-
-
-
Field Detail
-
viewPlatformToVworld
protected Transform3D viewPlatformToVworld
The initial transform from view platform coordinates to virtual world coordinates, set byinitAction
.
-
trackerToVworld
protected Transform3D trackerToVworld
The initial transform from tracker base coordinates to virtual world coordinates, set byinitAction
.
-
sensorToVworld
protected Transform3D sensorToVworld
The initial transform from sensor coordinates to virtual world coordinates, set byinitAction
.
-
sensorToTracker
protected Transform3D sensorToTracker
The initial transform from sensor coordinates to tracker base coordinates, set byinitAction
.
-
-
Method Detail
-
initAction
protected void initAction(Sensor s)
Initializes the listener action. Subclasses must call this before starting the action, either frompressed
or when a 2D valuator exits the deadzone threshold.- Parameters:
s
- reference to a 6DOF sensor if used by the listener; may benull
-
endAction
protected void endAction(Sensor s)
Ends the action. Subclasses must be call this fromreleased
or when a 2D valuator enters the deadzone threshold.- Parameters:
s
- reference to a 6DOF sensor if used by the listener; may benull
-
isActive
protected boolean isActive()
Returns true if the listener is currently active; that is, ifinitAction
has been called but not yetendAction
.- 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 interfaceSensorButtonListener
- Overrides:
pressed
in classSensorInputAdaptor
- 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 interfaceSensorButtonListener
- Overrides:
released
in classSensorInputAdaptor
- 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, javax.vecmath.Vector3d translation)
Translates a coordinate system.- Parameters:
transform
- the coordinate system to be translatedtranslation
- the vector by which to translate
-
transformAboutCenter
protected void transformAboutCenter(Transform3D target, javax.vecmath.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 transformcenter
- the center point about which to transformtransform
- the transform to apply
-
conditionViewScale
protected void conditionViewScale(Transform3D viewPlatformToVworld)
Equalizes the scale factors in the view tranform, which must be congruent. If successful, theViewingPlatform 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
-
-