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.

Author:
Satoru Sugihara
See Also:
IView, IPane

Nested Class Summary
static class INavigator.DragType
           
 
Field Summary
 double axonPanRatio
           
 double axonZoomRatio
           
static IMouseEvent defaultPanButton
           
static IMouseEvent defaultPanButton2
           
static IMouseEvent defaultRotateButton
           
static IMouseEvent defaultRotateButton2
           
static IMouseEvent defaultZoomButton
           
static IMouseEvent defaultZoomButton2
           
 INavigator.DragType dragType
           
 double keyAxonPanInc
           
 double keyPersPanInc
           
 double keyRotationPitchInc
           
 double keyRotationYawInc
           
 double keyZoomInc
           
static double minimumAxonMouseZoomRatio
           
 boolean mousePressed
           
 int mouseX
           
 int mouseY
           
 java.util.ArrayList<IMouseEvent> panButtons
           
 IPane pane
           
 double persPanRatio
           
 double persZoomRatio
           
 java.util.ArrayList<IMouseEvent> rotateButtons
           
 boolean rotateLock
          for orthogonal view not to rotate.
 java.util.ArrayList<IMouseEvent> rotateUnlockButtons
           
 double rotationPitchRatio
           
 double rotationYawRatio
           
 IView view
           
 IVec viewAngle
           
 double viewAxonRatio
           
 IVec viewPos
           
 IVec viewTarget
           
 double wheelZoomRatio
           
 java.util.ArrayList<IMouseEvent> zoomButtons
           
 
Constructor Summary
INavigator(IView v)
           
INavigator(IView v, IPane p)
           
 
Method Summary
 INavigator.DragType getDragType(IMouseEvent e)
           
 void keyPressed(IKeyEvent e)
           
 void keyReleased(IKeyEvent e)
           
 void keyTyped(IKeyEvent e)
           
 void mouseClicked(IMouseEvent e)
           
 void mouseDragged(IMouseEvent e)
           
 void mouseEntered(IMouseEvent e)
           
 void mouseExited(IMouseEvent e)
           
 void mouseMoved(IMouseEvent e)
           
 void mousePressed(IMouseEvent e)
           
 void mouseReleased(IMouseEvent e)
           
 void mouseWheelMoved(IMouseWheelEvent e)
           
 void setAxonometricPanRatio(double axonRatio)
           
 void setAxonometricZoomRatio(double zoomRatio)
           
 void setPane(IPane p)
           
 void setPerspectivePanRatio(double panRatio)
           
 void setPerspectiveZoomRatio(double zoomRatio)
           
 void setRatioByBounds(IBounds bounds)
           
 void setRotateLock(boolean lock)
           
 void setRotationRatio(double yawRatio, double pitchRatio)
           
 void setView(IView v)
           
 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 IMouseEvent defaultRotateButton

defaultRotateButton2

public static final IMouseEvent defaultRotateButton2

defaultPanButton

public static final IMouseEvent defaultPanButton

defaultPanButton2

public static final IMouseEvent defaultPanButton2

defaultZoomButton

public static final IMouseEvent defaultZoomButton

defaultZoomButton2

public static final IMouseEvent defaultZoomButton2

minimumAxonMouseZoomRatio

public static double minimumAxonMouseZoomRatio

rotationYawRatio

public double rotationYawRatio

rotationPitchRatio

public double rotationPitchRatio

persPanRatio

public double persPanRatio

axonPanRatio

public double axonPanRatio

axonZoomRatio

public double axonZoomRatio

persZoomRatio

public double persZoomRatio

wheelZoomRatio

public double wheelZoomRatio

keyRotationYawInc

public double keyRotationYawInc

keyRotationPitchInc

public double keyRotationPitchInc

keyPersPanInc

public double keyPersPanInc

keyAxonPanInc

public double keyAxonPanInc

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<IMouseEvent> rotateButtons

panButtons

public java.util.ArrayList<IMouseEvent> panButtons

zoomButtons

public java.util.ArrayList<IMouseEvent> zoomButtons

rotateUnlockButtons

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

INavigator

public INavigator(IView v,
                  IPane p)

INavigator

public INavigator(IView v)
Method Detail

setPane

public void setPane(IPane p)

setView

public void setView(IView v)

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)

setRatioByBounds

public void setRatioByBounds(IBounds bounds)

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(IMouseEvent e)

mousePressed

public void mousePressed(IMouseEvent e)

mouseReleased

public void mouseReleased(IMouseEvent e)

mouseClicked

public void mouseClicked(IMouseEvent e)

mouseEntered

public void mouseEntered(IMouseEvent e)

mouseExited

public void mouseExited(IMouseEvent e)

mouseMoved

public void mouseMoved(IMouseEvent e)

mouseDragged

public void mouseDragged(IMouseEvent e)

mouseWheelMoved

public void mouseWheelMoved(IMouseWheelEvent e)

keyPressed

public void keyPressed(IKeyEvent e)

keyReleased

public void keyReleased(IKeyEvent e)

keyTyped

public void keyTyped(IKeyEvent e)