# Class Navigator

java.lang.Object
java.lang.Thread
org.jmol.thread.JmolThread
org.jmol.navigate.Navigator

All Implemented Interfaces:
  `Runnable, JmolNavigatorInterface`

public final class Navigator extends JmolThread implements JmolNavigatorInterface
Navigator is a user input mechanism that utilizes the keypad to drive through the model. It is created by reflection only from org.jmol.viewer.TransformManager

## Nested Class Summary

### Nested classes/interfaces inherited from class Thread

`Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler`

## Field Summary

### Fields inherited from class JmolThread

`CHECK1, CHECK2, CHECK3, currentTime, eval, FINISH, haveReference, hoverEnabled, INIT, isJS, isReset, lastRepaintTime, MAIN, name, sc, sleepTime, startTime, stopped, targetTime, useTimeout, vwr`

### Fields inherited from class Thread

`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

## Constructor Summary

Constructors
Constructor
Description
`Navigator()`

## Method Summary

Modifier and Type
Method
Description
`void`
`calcNavigationPoint()`
`String`
`getNavigationState()`
`void`
`navigateAxis(V3 rotAxis, float degrees)`
`void`
`navigateKey(int keyCode, int modifiers)`
`void`
`navigateList(JmolScriptEvaluator eval, Lst<Object[]> list)`
`void`
`navTranslatePercentOrTo(float seconds, float x, float y)`
`protected void`
`oops(Exception e)`
`protected void`
`run1(int mode)`
`void`
`set(TransformManager tm, Viewer vwr)`
`void`
`setNavigationDepthPercent(float percent)`
`void`
`setNavigationOffsetRelative()`
`void`
`zoomByFactor(float factor, int x, int y)`

### Methods inherited from class JmolThread

`checkInterrupted, interrupt, reset, resumeEval, run, runSleep, setEval, setManager, setViewer, start, toString`

### Methods inherited from class Thread

`activeCount, checkAccess, clone, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, startVirtualThread, stop, threadId, yield`

### Methods inherited from class Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface JmolNavigatorInterface

`interrupt`

### Methods inherited from interface Runnable

`run`

## Constructor Details

### Navigator

public Navigator()

## Method Details

### set

public void set(TransformManager tm, Viewer vwr)

Specified by:
  `set` in interface `JmolNavigatorInterface`

### navigateList

public void navigateList(JmolScriptEvaluator eval, Lst<Object[]> list)

Specified by:
  `navigateList` in interface `JmolNavigatorInterface`

### run1

protected void run1(int mode) throws InterruptedException

Specified by:
  `run1` in class `JmolThread`
Throws:
  `InterruptedException`

### zoomByFactor

public void zoomByFactor(float factor, int x, int y)

Specified by:
  `zoomByFactor` in interface `JmolNavigatorInterface`

### calcNavigationPoint

public void calcNavigationPoint()

Specified by:
  `calcNavigationPoint` in interface `JmolNavigatorInterface`

### setNavigationOffsetRelative

public void setNavigationOffsetRelative()

Specified by:
  `setNavigationOffsetRelative` in interface `JmolNavigatorInterface`

### navigateKey

public void navigateKey(int keyCode, int modifiers)

Specified by:
  `navigateKey` in interface `JmolNavigatorInterface`

### setNavigationDepthPercent

public void setNavigationDepthPercent(float percent)

Specified by:
  `setNavigationDepthPercent` in interface `JmolNavigatorInterface`

### getNavigationState

public String getNavigationState()

Specified by:
  `getNavigationState` in interface `JmolNavigatorInterface`

### navigateAxis

public void navigateAxis(V3 rotAxis, float degrees)

Specified by:
  `navigateAxis` in interface `JmolNavigatorInterface`

### navTranslatePercentOrTo

public void navTranslatePercentOrTo(float seconds, float x, float y)

Specified by:
  `navTranslatePercentOrTo` in interface `JmolNavigatorInterface`

### oops

protected void oops(Exception e)

Overrides:
  `oops` in class `JmolThread`