MoveToThread
Date: 2019-10-22

org.jmol.thread

## Class MoveToThread

- java.lang.Object
- - java.lang.Thread
  - - org.jmol.thread.JmolThread
    - - org.jmol.thread.MoveToThread

- All Implemented Interfaces:
    java.lang.Runnable

      public class MoveToThread
      extends JmolThread

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private class` | `MoveToThread.Slider`

    - ### Nested classes/interfaces inherited from class java.lang.Thread

      `java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private javajs.util.A4` | `aaStep`
    `private javajs.util.V3` | `aaStepCenter`
    `private javajs.util.V3` | `aaStepNavCenter`
    `private javajs.util.A4` | `aaTotal`
    `private MoveToThread.Slider` | `cameraDepth`
    `private MoveToThread.Slider` | `cameraX`
    `private MoveToThread.Slider` | `cameraY`
    `private javajs.util.P3` | `center`
    `private boolean` | `doEndMove`
    `private javajs.util.V3` | `dRot`
    `private float` | `dSlab`
    `private javajs.util.V3` | `dTrans`
    `private float` | `dZoom`
    `private float` | `floatSecondsTotal`
    `private int` | `fps`
    `private long` | `frameTimeMillis`
    `private float` | `fStep`
    `private boolean` | `isMove`
    `private int` | `iStep`
    `private javajs.util.M3` | `matrixEnd`
    `private javajs.util.M3` | `matrixStart`
    `private javajs.util.M3` | `matrixStartInv`
    `private javajs.util.M3` | `matrixStep`
    `private javajs.util.P3` | `navCenter`
    `private MoveToThread.Slider` | `navDepth`
    `private MoveToThread.Slider` | `pixelScale`
    `private javajs.util.P3` | `ptMoveToCenter`
    `private float` | `radiansXStep`
    `private float` | `radiansYStep`
    `private float` | `radiansZStep`
    `private MoveToThread.Slider` | `rotationRadius`
    `private int` | `slab`
    `private int` | `timePerStep`
    `private int` | `totalSteps`
    `private TransformManager` | `transformManager`
    `private float` | `transX`
    `private float` | `transY`
    `private MoveToThread.Slider` | `xNav`
    `private MoveToThread.Slider` | `xTrans`
    `private MoveToThread.Slider` | `yNav`
    `private MoveToThread.Slider` | `yTrans`
    `private MoveToThread.Slider` | `zoom`
    `private float` | `zoomPercent0`

    - ### Fields inherited from class org.jmol.thread.JmolThread

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

    - ### Fields inherited from class java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MoveToThread()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `doFinalTransform()`
    `private void` | `doStepTransform()`
    `private float` | `getVal(MoveToThread.Slider s)`
    `void` | `interrupt()`
    `private MoveToThread.Slider` | `newSlider(float start, float value)`
    `protected void` | `run1(int mode)`
    `private void` | `run1Move(int mode)`
    `private void` | `run1MoveTo(int mode)`
    `int` | `setManager(java.lang.Object manager, Viewer vwr, java.lang.Object params)`
    `private int` | `setManagerMove(java.lang.Object[] options)` MOVE is a much simpler command.
    `private int` | `setManagerMoveTo(java.lang.Object[] options)` MOVETO is a more complex command.
    `private void` | `setValues(javajs.util.M3 m, javajs.util.P3 center, javajs.util.P3 navCenter)`

    - ### Methods inherited from class org.jmol.thread.JmolThread

      `checkInterrupted, oops, reset, resumeEval, run, runSleep, setEval, setViewer, start`

    - ### Methods inherited from class java.lang.Thread

      `activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### isMove

          private boolean isMove

    - #### aaStepCenter

          private final javajs.util.V3 aaStepCenter

    - #### aaStepNavCenter

          private final javajs.util.V3 aaStepNavCenter

    - #### aaStep

          private final javajs.util.A4 aaStep

    - #### aaTotal

          private final javajs.util.A4 aaTotal

    - #### matrixStart

          private final javajs.util.M3 matrixStart

    - #### matrixStartInv

          private final javajs.util.M3 matrixStartInv

    - #### matrixStep

          private javajs.util.M3 matrixStep

    - #### matrixEnd

          private final javajs.util.M3 matrixEnd

    - #### center

          private javajs.util.P3 center

    - #### navCenter

          private javajs.util.P3 navCenter

    - #### ptMoveToCenter

          private javajs.util.P3 ptMoveToCenter

    - #### zoom

          private MoveToThread.Slider zoom

    - #### xTrans

          private MoveToThread.Slider xTrans

    - #### yTrans

          private MoveToThread.Slider yTrans

    - #### xNav

          private MoveToThread.Slider xNav

    - #### yNav

          private MoveToThread.Slider yNav

    - #### navDepth

          private MoveToThread.Slider navDepth

    - #### cameraDepth

          private MoveToThread.Slider cameraDepth

    - #### cameraX

          private MoveToThread.Slider cameraX

    - #### cameraY

          private MoveToThread.Slider cameraY

    - #### rotationRadius

          private MoveToThread.Slider rotationRadius

    - #### pixelScale

          private MoveToThread.Slider pixelScale

    - #### fps

          private int fps

    - #### frameTimeMillis

          private long frameTimeMillis

    - #### doEndMove

          private boolean doEndMove

    - #### fStep

          private float fStep

    - #### transformManager

          private TransformManager transformManager

    - #### floatSecondsTotal

          private float floatSecondsTotal

    - #### totalSteps

          private int totalSteps

    - #### iStep

          private int iStep

    - #### timePerStep

          private int timePerStep

    - #### radiansXStep

          private float radiansXStep

    - #### radiansYStep

          private float radiansYStep

    - #### radiansZStep

          private float radiansZStep

    - #### dRot

          private javajs.util.V3 dRot

    - #### dTrans

          private javajs.util.V3 dTrans

    - #### dZoom

          private float dZoom

    - #### dSlab

          private float dSlab

    - #### zoomPercent0

          private float zoomPercent0

    - #### slab

          private int slab

    - #### transX

          private float transX

    - #### transY

          private float transY

  - ### Constructor Detail

    - #### MoveToThread

          public MoveToThread()

  - ### Method Detail

    - #### setManager

          public int setManager(java.lang.Object manager,
                                Viewer vwr,
                                java.lang.Object params)

      Overrides:
        `setManager` in class `JmolThread`
      Returns:
        TODO

    - #### run1

          protected void run1(int mode)
                       throws java.lang.InterruptedException

      Specified by:
        `run1` in class `JmolThread`
      Throws:
        `java.lang.InterruptedException`

    - #### interrupt

          public void interrupt()

      Overrides:
        `interrupt` in class `JmolThread`

    - #### setManagerMove

          private int setManagerMove(java.lang.Object[] options)

      MOVE is a much simpler command.
      Parameters:
        `options` - (see comment in code)
      Returns:
        totalSteps

    - #### setManagerMoveTo

          private int setManagerMoveTo(java.lang.Object[] options)

      MOVETO is a more complex command.
      Parameters:
        `options` - (see comment in code)
      Returns:
        totalSteps

    - #### newSlider

          private MoveToThread.Slider newSlider(float start,
                                                float value)

    - #### run1Move

          private void run1Move(int mode)
                         throws java.lang.InterruptedException

      Throws:
        `java.lang.InterruptedException`

    - #### run1MoveTo

          private void run1MoveTo(int mode)
                           throws java.lang.InterruptedException

      Throws:
        `java.lang.InterruptedException`

    - #### doStepTransform

          private void doStepTransform()

    - #### doFinalTransform

          private void doFinalTransform()

    - #### setValues

          private void setValues(javajs.util.M3 m,
                                 javajs.util.P3 center,
                                 javajs.util.P3 navCenter)

    - #### getVal

          private float getVal(MoveToThread.Slider s)