simbad.sim
Class MouseOrbiter
java.lang.Object
simbad.sim.MouseOrbiter
- All Implemented Interfaces:
- java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.util.EventListener, javax.swing.event.MouseInputListener
public class MouseOrbiter
- extends java.lang.Object
- implements javax.swing.event.MouseInputListener
Manages changes of the view point view under the control of mouse movement.
The mouse enables to modify lattitude and longitude of the viewpoint.
This class is largely inspired from Sun's OrbitBehavior.
It is intented to be used only with the main Canvas3d object (see World class).
Constructor Summary |
MouseOrbiter(javax.media.j3d.Canvas3D c,
javax.media.j3d.TransformGroup targetTransformGroup)
Creates a new OrbitBehavior |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
longditudeTransform
private javax.media.j3d.Transform3D longditudeTransform
latitudeTransform
private javax.media.j3d.Transform3D latitudeTransform
rotateTransform
private javax.media.j3d.Transform3D rotateTransform
temp1
private javax.media.j3d.Transform3D temp1
temp2
private javax.media.j3d.Transform3D temp2
translation
private javax.media.j3d.Transform3D translation
transVector
private javax.vecmath.Vector3d transVector
distanceVector
private javax.vecmath.Vector3d distanceVector
centerVector
private javax.vecmath.Vector3d centerVector
invertCenterVector
private javax.vecmath.Vector3d invertCenterVector
longditude
private double longditude
latitude
private double latitude
rollAngle
private double rollAngle
startDistanceFromCenter
private double startDistanceFromCenter
distanceFromCenter
private double distanceFromCenter
MAX_MOUSE_ANGLE
private final double MAX_MOUSE_ANGLE
ZOOM_FACTOR
private final double ZOOM_FACTOR
- See Also:
- Constant Field Values
rotationCenter
private javax.vecmath.Point3d rotationCenter
rotMatrix
private javax.vecmath.Matrix3d rotMatrix
currentXfm
private javax.media.j3d.Transform3D currentXfm
mouseX
private int mouseX
mouseY
private int mouseY
rotXFactor
private double rotXFactor
rotYFactor
private double rotYFactor
transXFactor
private double transXFactor
transYFactor
private double transYFactor
zoomFactor
private double zoomFactor
xtrans
private double xtrans
ytrans
private double ytrans
ztrans
private double ztrans
zoomEnabled
private boolean zoomEnabled
rotateEnabled
private boolean rotateEnabled
translateEnabled
private boolean translateEnabled
reverseRotate
private boolean reverseRotate
reverseTrans
private boolean reverseTrans
reverseZoom
private boolean reverseZoom
minRadius
private double minRadius
NOMINAL_ZOOM_FACTOR
private static final double NOMINAL_ZOOM_FACTOR
- See Also:
- Constant Field Values
NOMINAL_PZOOM_FACTOR
private static final double NOMINAL_PZOOM_FACTOR
- See Also:
- Constant Field Values
NOMINAL_ROT_FACTOR
private static final double NOMINAL_ROT_FACTOR
- See Also:
- Constant Field Values
NOMINAL_TRANS_FACTOR
private static final double NOMINAL_TRANS_FACTOR
- See Also:
- Constant Field Values
rotXMul
private double rotXMul
rotYMul
private double rotYMul
transXMul
private double transXMul
transYMul
private double transYMul
zoomMul
private double zoomMul
motion
private boolean motion
targetTG
javax.media.j3d.TransformGroup targetTG
targetTransform
javax.media.j3d.Transform3D targetTransform
MouseOrbiter
public MouseOrbiter(javax.media.j3d.Canvas3D c,
javax.media.j3d.TransformGroup targetTransformGroup)
- Creates a new OrbitBehavior
- Parameters:
c
- The Canvas3D to add the behavior totargetTransformGroup
- The transformgroup affected by mouse movement
processMouseEvent
protected void processMouseEvent(java.awt.event.MouseEvent evt)
resetView
public void resetView()
- Reset the orientation and distance of this behavior to the current values
in target Transform Group
integrateTransforms
protected void integrateTransforms()
setRotationCenter
public void setRotationCenter(javax.vecmath.Point3d center)
- Sets the center around which the View rotates. The default is (0,0,0).
- Parameters:
center
- The Point3d to set the center of rotation to
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent arg0)
- Specified by:
mouseClicked
in interface java.awt.event.MouseListener
mousePressed
public void mousePressed(java.awt.event.MouseEvent event)
- Specified by:
mousePressed
in interface java.awt.event.MouseListener
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent event)
- Specified by:
mouseReleased
in interface java.awt.event.MouseListener
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent arg0)
- Specified by:
mouseEntered
in interface java.awt.event.MouseListener
mouseExited
public void mouseExited(java.awt.event.MouseEvent arg0)
- Specified by:
mouseExited
in interface java.awt.event.MouseListener
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent event)
- Specified by:
mouseDragged
in interface java.awt.event.MouseMotionListener
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent event)
- Specified by:
mouseMoved
in interface java.awt.event.MouseMotionListener