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 Transform3DsensorToTrackerThe initial transform from sensor coordinates to tracker base coordinates, set byinitAction.protected Transform3DsensorToVworldThe initial transform from sensor coordinates to virtual world coordinates, set byinitAction.protected Transform3DtrackerToVworldThe initial transform from tracker base coordinates to virtual world coordinates, set byinitAction.protected Transform3DviewPlatformToVworldThe 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 voidconditionViewScale(Transform3D viewPlatformToVworld)Equalizes the scale factors in the view tranform, which must be congruent.protected voidendAction(Sensor s)Ends the action.protected doublegetPhysicalToViewPlatformScale()Gets the scale from physical units to view platform units.protected doublegetPhysicalToVirtualScale()Gets the physical to virtual scale.protected voidinitAction(Sensor s)Initializes the listener action.protected booleanisActive()Returns true if the listener is currently active; that is, ifinitActionhas been called but not yetendAction.voidpressed(SensorEvent e)This method is called when a sensor's button is pressed.voidreleased(SensorEvent e)This method is called when a sensor's button is released.protected voidtransformAboutCenter(Transform3D target, javax.vecmath.Point3d center, Transform3D transform)Transforms the target coordinate system about a center point.protected voidtranslateTransform(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 frompressedor 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 fromreleasedor 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, ifinitActionhas been called but not yetendAction.- Returns:
- true if the listener is active, false otherwise
-
pressed
public void pressed(SensorEvent e)
Description copied from interface:SensorButtonListenerThis method is called when a sensor's button is pressed.- Specified by:
pressedin interfaceSensorButtonListener- Overrides:
pressedin classSensorInputAdaptor- Parameters:
e- the sensor event
-
released
public void released(SensorEvent e)
Description copied from interface:SensorButtonListenerThis method is called when a sensor's button is released.- Specified by:
releasedin interfaceSensorButtonListener- Overrides:
releasedin 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 TransformGroupis 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
-
-