igeo.gui

## Class INavigator

- java.lang.Object
- - 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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `INavigator.DragType`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `INavigator(IView v)`
    `INavigator(IView v, IPane p)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)