igeo.gui
Class INavigator

java.lang.Object
  extended by igeo.gui.INavigator

public class INavigator
extends java.lang.Object

Class to provide 3D navigation function by mouse and keyboard. An instance of INavigator is associated with an instance of IView and it's retained by each IPane.

See Also:
IView, IPane

Nested Class Summary
static class INavigator.DragType
           
 
Field Summary
 double axonometricPanRatio
           
 double axonZoomRatio
           
static IMouseButton defaultPanButton
           
static IMouseButton defaultPanButton2
           
static IMouseButton defaultRotateButton
           
static IMouseButton defaultRotateButton2
           
static IMouseButton defaultZoomButton
           
static IMouseButton defaultZoomButton2
           
 INavigator.DragType dragType
           
 double keyAxonometricPanInc
           
 double keyPerspectivePanInc
           
 double keyRotationPitchInc
           
 double keyRotationYawInc
           
 double keyZoomInc
           
static double minimumAxonometricMouseZoomRatio
           
 boolean mousePressed
           
 int mouseX
           
 int mouseY
           
 java.util.ArrayList<IMouseButton> panButtons
           
 IPane pane
           
 double perspectivePanRatio
           
 double persZoomRatio
           
 java.util.ArrayList<IMouseButton> rotateButtons
           
 boolean rotateLock
          for orthogonal view not to rotate.
 java.util.ArrayList<IMouseButton> rotateUnlockButtons
           
 double rotationPitchRatio
           
 double rotationYawRatio
           
 IView view
           
 IVec viewAngle
           
 double viewAxonRatio
           
 IVec viewPos
           
 IVec viewTarget
           
 double wheelZoomRatio
           
 java.util.ArrayList<IMouseButton> zoomButtons
           
 
Constructor Summary
INavigator(IView v)
           
INavigator(IView v, IPane p)
           
 
Method Summary
 INavigator.DragType getDragType(java.awt.event.MouseEvent e)
           
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
           
 void setAxonometricPanRatio(double axonRatio)
           
 void setAxonometricZoomRatio(double zoomRatio)
           
 void setPane(IPane p)
           
 void setPerspectivePanRatio(double panRatio)
           
 void setPerspectiveZoomRatio(double zoomRatio)
           
 void setRotateLock(boolean lock)
           
 void setRotationRatio(double yawRatio, double pitchRatio)
           
 void updatePan(double xmove, double ymove)
           
 void updatePanByMouse(int x, int y)
           
 void updateRotation(double yawdiff, double pitchdiff)
           
 void updateRotationByMouse(int x, int y)
           
 void updateZoom(double diff)
           
 void updateZoomByMouse(int x, int y)
           
 void wheelZoomRatio(double zoomRatio)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultRotateButton

public static final IMouseButton defaultRotateButton

defaultRotateButton2

public static final IMouseButton defaultRotateButton2

defaultPanButton

public static final IMouseButton defaultPanButton

defaultPanButton2

public static final IMouseButton defaultPanButton2

defaultZoomButton

public static final IMouseButton defaultZoomButton

defaultZoomButton2

public static final IMouseButton defaultZoomButton2

minimumAxonometricMouseZoomRatio

public static double minimumAxonometricMouseZoomRatio

rotationYawRatio

public double rotationYawRatio

rotationPitchRatio

public double rotationPitchRatio

perspectivePanRatio

public double perspectivePanRatio

axonometricPanRatio

public double axonometricPanRatio

axonZoomRatio

public double axonZoomRatio

persZoomRatio

public double persZoomRatio

wheelZoomRatio

public double wheelZoomRatio

keyRotationYawInc

public double keyRotationYawInc

keyRotationPitchInc

public double keyRotationPitchInc

keyPerspectivePanInc

public double keyPerspectivePanInc

keyAxonometricPanInc

public double keyAxonometricPanInc

keyZoomInc

public double keyZoomInc

rotateLock

public boolean rotateLock
for orthogonal view not to rotate. lock can be turned off with ALT+drag


pane

public IPane pane

view

public IView view

mouseX

public int mouseX

mouseY

public int mouseY

mousePressed

public boolean mousePressed

viewPos

public IVec viewPos

viewTarget

public IVec viewTarget

viewAngle

public IVec viewAngle

viewAxonRatio

public double viewAxonRatio

dragType

public INavigator.DragType dragType

rotateButtons

public java.util.ArrayList<IMouseButton> rotateButtons

panButtons

public java.util.ArrayList<IMouseButton> panButtons

zoomButtons

public java.util.ArrayList<IMouseButton> zoomButtons

rotateUnlockButtons

public java.util.ArrayList<IMouseButton> rotateUnlockButtons
Constructor Detail

INavigator

public INavigator(IView v,
                  IPane p)

INavigator

public INavigator(IView v)
Method Detail

setPane

public void setPane(IPane p)

setRotationRatio

public void setRotationRatio(double yawRatio,
                             double pitchRatio)

setPerspectivePanRatio

public void setPerspectivePanRatio(double panRatio)

setAxonometricPanRatio

public void setAxonometricPanRatio(double axonRatio)

setPerspectiveZoomRatio

public void setPerspectiveZoomRatio(double zoomRatio)

setAxonometricZoomRatio

public void setAxonometricZoomRatio(double zoomRatio)

wheelZoomRatio

public void wheelZoomRatio(double zoomRatio)

setRotateLock

public void setRotateLock(boolean lock)

updateRotationByMouse

public void updateRotationByMouse(int x,
                                  int y)

updateRotation

public void updateRotation(double yawdiff,
                           double pitchdiff)

updatePanByMouse

public void updatePanByMouse(int x,
                             int y)

updatePan

public void updatePan(double xmove,
                      double ymove)

updateZoomByMouse

public void updateZoomByMouse(int x,
                              int y)

updateZoom

public void updateZoom(double diff)

getDragType

public INavigator.DragType getDragType(java.awt.event.MouseEvent e)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)