Class TransformManager

    • Field Detail

      • DEFAULT_PERSPECTIVE_DEPTH

        static final boolean DEFAULT_PERSPECTIVE_DEPTH
        See Also:
        Constant Field Values
      • vibrationThread

        public JmolThread vibrationThread
      • perspectiveModel

        protected int perspectiveModel
      • cameraScaleFactor

        protected float cameraScaleFactor
      • referencePlaneOffset

        public float referencePlaneOffset
      • aperatureAngle

        protected float aperatureAngle
      • cameraDistanceFromCenter

        protected float cameraDistanceFromCenter
      • modelCenterOffset

        public float modelCenterOffset
      • modelRadius

        public float modelRadius
      • modelRadiusPixels

        public float modelRadiusPixels
      • navigationCenter

        public final javajs.util.P3 navigationCenter
      • navigationOffset

        public final javajs.util.P3 navigationOffset
      • navigationShiftXY

        public final javajs.util.P3 navigationShiftXY
      • navigationDepthPercent

        public float navigationDepthPercent
      • matrixTemp

        protected final javajs.util.M4 matrixTemp
      • vectorTemp

        protected final javajs.util.V3 vectorTemp
      • haveNotifiedNaN

        protected boolean haveNotifiedNaN
      • spinX

        public float spinX
      • spinY

        public float spinY
      • spinZ

        public float spinZ
      • spinFps

        public float spinFps
      • navX

        public float navX
      • navY

        public float navY
      • navZ

        public float navZ
      • navFps

        public float navFps
      • isSpinInternal

        public boolean isSpinInternal
      • isSpinFixed

        public boolean isSpinFixed
      • isSpinSelected

        boolean isSpinSelected
      • doTransform4D

        protected boolean doTransform4D
      • fixedRotationOffset

        public final javajs.util.P3 fixedRotationOffset
      • fixedRotationCenter

        public final javajs.util.P3 fixedRotationCenter
      • perspectiveOffset

        protected final javajs.util.P3 perspectiveOffset
      • perspectiveShiftXY

        protected final javajs.util.P3 perspectiveShiftXY
      • rotationCenterDefault

        private final javajs.util.P3 rotationCenterDefault
      • rotationRadiusDefault

        private float rotationRadiusDefault
      • fixedRotationAxis

        public final javajs.util.A4 fixedRotationAxis
      • internalRotationAxis

        public final javajs.util.A4 internalRotationAxis
      • internalTranslation

        protected javajs.util.V3 internalTranslation
      • internalRotationCenter

        final javajs.util.P3 internalRotationCenter
      • internalRotationAngle

        private float internalRotationAngle
      • matrixRotate

        public final javajs.util.M3 matrixRotate
      • matrixTemp3

        protected final javajs.util.M3 matrixTemp3
      • matrixTemp4

        private final javajs.util.M4 matrixTemp4
      • axisangleT

        private final javajs.util.A4 axisangleT
      • vectorT

        private final javajs.util.V3 vectorT
      • vectorT2

        private final javajs.util.V3 vectorT2
      • pointT2

        private final javajs.util.P3 pointT2
      • MAXIMUM_ZOOM_PERCENTAGE

        public static final int MAXIMUM_ZOOM_PERCENTAGE
        See Also:
        Constant Field Values
      • MAXIMUM_ZOOM_PERSPECTIVE_DEPTH

        private static final int MAXIMUM_ZOOM_PERSPECTIVE_DEPTH
        See Also:
        Constant Field Values
      • rotationAxis

        javajs.util.V3 rotationAxis
      • rotationRate

        float rotationRate
      • fixedTranslation

        public final javajs.util.P3 fixedTranslation
      • camera

        public final javajs.util.P3 camera
      • cameraSetting

        public final javajs.util.P3 cameraSetting
      • xTranslationFraction

        float xTranslationFraction
      • yTranslationFraction

        float yTranslationFraction
      • prevZoomSetting

        protected float prevZoomSetting
      • previousX

        public float previousX
      • previousY

        public float previousY
      • zoomEnabled

        public boolean zoomEnabled
      • zmPct

        public float zmPct
        zoom percent zmPct is the current displayed zoom value, AFTER rendering; may not be the same as zmPctSet, particularly if zoom is not enabled
      • zmPctSet

        float zmPctSet
        zoom percent setting the current setting of zoom; may not be the same as zmPct, particularly if zoom is not enabled
      • zoomRatio

        private float zoomRatio
      • slabEnabled

        public boolean slabEnabled
      • zShadeEnabled

        public boolean zShadeEnabled
      • internalSlab

        public boolean internalSlab
      • slabPercentSetting

        int slabPercentSetting
      • depthPercentSetting

        int depthPercentSetting
      • slabValue

        public int slabValue
      • depthValue

        public int depthValue
      • zSlabPercentSetting

        public int zSlabPercentSetting
      • zDepthPercentSetting

        public int zDepthPercentSetting
      • zSlabPoint

        public javajs.util.P3 zSlabPoint
      • zSlabValue

        public int zSlabValue
      • zDepthValue

        public int zDepthValue
      • slabRange

        float slabRange
      • slabPlane

        javajs.util.P4 slabPlane
      • depthPlane

        javajs.util.P4 depthPlane
      • perspectiveDepth

        public boolean perspectiveDepth
      • scale3D

        protected boolean scale3D
      • cameraDepth

        protected float cameraDepth
      • cameraDepthSetting

        protected float cameraDepthSetting
      • visualRangeAngstroms

        public float visualRangeAngstroms
      • cameraDistance

        public float cameraDistance
      • width

        public int width
      • height

        public int height
      • screenPixelCount

        public int screenPixelCount
      • scalePixelsPerAngstrom

        float scalePixelsPerAngstrom
      • scaleDefaultPixelsPerAngstrom

        public float scaleDefaultPixelsPerAngstrom
      • scale3DAngstromsPerInch

        float scale3DAngstromsPerInch
      • antialias

        protected boolean antialias
      • useZoomLarge

        private boolean useZoomLarge
      • zoomHeight

        private boolean zoomHeight
      • screenWidth

        int screenWidth
      • screenHeight

        int screenHeight
      • matrixTransform

        public final javajs.util.M4 matrixTransform
      • matrixTransformInv

        public final javajs.util.M4 matrixTransformInv
      • fScrPt

        protected final javajs.util.P3 fScrPt
      • iScrPt

        protected final javajs.util.P3i iScrPt
      • navigating

        public boolean navigating
      • mode

        public int mode
      • defaultMode

        public int defaultMode
      • untransformedPoint

        protected final javajs.util.P3 untransformedPoint
      • ptTest1

        protected final javajs.util.P3 ptTest1
      • ptTest2

        protected final javajs.util.P3 ptTest2
      • ptTest3

        protected final javajs.util.P3 ptTest3
      • aaTest1

        protected final javajs.util.A4 aaTest1
      • matrixTest

        protected final javajs.util.M3 matrixTest
      • spinOn

        public boolean spinOn
      • navOn

        public boolean navOn
      • spinIsGesture

        private boolean spinIsGesture
      • vibrationOn

        public boolean vibrationOn
      • vibrationPeriod

        float vibrationPeriod
      • vibrationPeriodMs

        public int vibrationPeriodMs
      • vibrationScale

        private float vibrationScale
      • vibrationT

        private javajs.util.P3 vibrationT
      • stereoMode

        STER stereoMode
      • stereoColors

        int[] stereoColors
      • stereoDoubleDTI

        boolean stereoDoubleDTI
      • stereoDoubleFull

        boolean stereoDoubleFull
      • stereoDegrees

        float stereoDegrees
      • stereoRadians

        float stereoRadians
      • stereoFrame

        boolean stereoFrame
      • matrixStereo

        protected final javajs.util.M3 matrixStereo
      • windowCentered

        public boolean windowCentered
      • frameOffset

        final javajs.util.P3 frameOffset
      • frameOffsets

        javajs.util.P3[] frameOffsets
      • bsFrameOffsets

        public javajs.util.BS bsFrameOffsets
      • bsSelectedAtoms

        javajs.util.BS bsSelectedAtoms
      • ptOffset

        javajs.util.P3 ptOffset
      • navMode

        public int navMode
      • zoomFactor

        public float zoomFactor
      • navigationSlabOffset

        public float navigationSlabOffset
    • Constructor Detail

      • TransformManager

        public TransformManager()
    • Method Detail

      • getTransformManager

        static TransformManager getTransformManager​(Viewer vwr,
                                                    int width,
                                                    int height,
                                                    boolean is4D)
      • setDefaultPerspective

        void setDefaultPerspective()
      • homePosition

        public void homePosition​(boolean resetSpin)
      • setRotation

        public void setRotation​(javajs.util.M3 m)
      • resetRotation

        public void resetRotation()
      • clearThreads

        void clearThreads()
      • clear

        void clear()
      • setFixedRotationCenter

        private void setFixedRotationCenter​(javajs.util.T3 center)
      • setRotationPointXY

        void setRotationPointXY​(javajs.util.P3 center)
      • spinXYBy

        void spinXYBy​(int xDelta,
                      int yDelta,
                      float speed)
      • rotateXYBy

        protected void rotateXYBy​(float degX,
                                  float degY,
                                  javajs.util.BS bsAtoms)
      • rotateZBy

        void rotateZBy​(int zDelta,
                       int x,
                       int y)
      • applyRotation

        private void applyRotation​(javajs.util.M3 mNew,
                                   boolean isInternal,
                                   javajs.util.BS bsAtoms,
                                   javajs.util.V3 translation,
                                   boolean translationOnly,
                                   javajs.util.M4 m4)
      • rotate3DBall

        protected void rotate3DBall​(float xDeg,
                                    float yDeg,
                                    javajs.util.BS bsAtoms)
      • rotateXRadians

        public void rotateXRadians​(float angleRadians,
                                   javajs.util.BS bsAtoms)
      • rotateYRadians

        public void rotateYRadians​(float angleRadians,
                                   javajs.util.BS bsAtoms)
      • rotateZRadians

        public void rotateZRadians​(float angleRadians)
      • rotateAxisAngle

        public void rotateAxisAngle​(javajs.util.V3 rotAxis,
                                    float radians)
      • rotateAxisAngle2

        private void rotateAxisAngle2​(javajs.util.A4 axisAngle,
                                      javajs.util.BS bsAtoms)
      • rotateAxisAngleAtCenter

        boolean rotateAxisAngleAtCenter​(JmolScriptEvaluator eval,
                                        javajs.util.P3 rotCenter,
                                        javajs.util.V3 rotAxis,
                                        float degreesPerSecond,
                                        float endDegrees,
                                        boolean isSpin,
                                        javajs.util.BS bsAtoms)
      • rotateAxisAngleRadiansFixed

        public void rotateAxisAngleRadiansFixed​(float angleRadians,
                                                javajs.util.BS bsAtoms)
      • rotateAboutPointsInternal

        boolean rotateAboutPointsInternal​(JmolScriptEvaluator eval,
                                          javajs.util.T3 point1,
                                          javajs.util.T3 point2,
                                          float degreesPerSecond,
                                          float endDegrees,
                                          boolean isClockwise,
                                          boolean isSpin,
                                          javajs.util.BS bsAtoms,
                                          boolean isGesture,
                                          javajs.util.V3 translation,
                                          javajs.util.Lst<javajs.util.P3> finalPoints,
                                          float[] dihedralList,
                                          javajs.util.M4 m4)
        Parameters:
        eval -
        point1 -
        point2 -
        degreesPerSecond -
        endDegrees -
        isClockwise -
        isSpin -
        bsAtoms -
        isGesture -
        translation -
        finalPoints -
        dihedralList -
        m4 -
        Returns:
        true if synchronous so that JavaScript can restart properly
      • rotateAxisAngleRadiansInternal

        public void rotateAxisAngleRadiansInternal​(float radians,
                                                   javajs.util.BS bsAtoms,
                                                   javajs.util.M4 m4)
      • getNewFixedRotationCenter

        void getNewFixedRotationCenter()
      • setTranslationFractions

        void setTranslationFractions()
      • centerAt

        public void centerAt​(int x,
                             int y,
                             javajs.util.P3 pt)
      • percentToPixels

        public int percentToPixels​(char xyz,
                                   float percent)
      • angstromsToPixels

        int angstromsToPixels​(float distance)
      • translateXYBy

        void translateXYBy​(int xDelta,
                           int yDelta)
      • setCamera

        public void setCamera​(float x,
                              float y)
      • translateToPercent

        public void translateToPercent​(char type,
                                       float percent)
      • getTranslationXPercent

        public float getTranslationXPercent()
      • getTranslationYPercent

        public float getTranslationYPercent()
      • getTranslationScript

        public String getTranslationScript()
      • getOrientationText

        String getOrientationText​(int type,
                                  boolean isBest)
      • getRotationQ

        public javajs.util.Quat getRotationQ()
      • getRotation

        public void getRotation​(javajs.util.M3 m)
      • setZoomHeight

        public void setZoomHeight​(boolean zoomHeight,
                                  boolean zoomLarge)
      • zoomBy

        protected void zoomBy​(int pixels)
        standard response to user mouse vertical shift-drag
        Parameters:
        pixels -
      • zoomByFactor

        void zoomByFactor​(float factor,
                          int x,
                          int y)
      • zoomToPercent

        public void zoomToPercent​(float percentZoom)
      • translateZBy

        void translateZBy​(int pixels)
      • resetXYCenter

        private void resetXYCenter​(int x,
                                   int y)
      • zoomByPercent

        void zoomByPercent​(float percentZoom)
      • setScaleAngstromsPerInch

        void setScaleAngstromsPerInch​(float angstromsPerInch)
      • setSlabRange

        public void setSlabRange​(float value)
      • setSlabEnabled

        void setSlabEnabled​(boolean slabEnabled)
      • setZShadeEnabled

        void setZShadeEnabled​(boolean zShadeEnabled)
      • setZoomEnabled

        void setZoomEnabled​(boolean zoomEnabled)
      • slabReset

        public void slabReset()
      • getSlabPercentSetting

        public int getSlabPercentSetting()
      • slabDepthChanged

        private void slabDepthChanged()
      • slabByPercentagePoints

        void slabByPercentagePoints​(int percentage)
      • depthByPercentagePoints

        void depthByPercentagePoints​(int percentage)
      • slabDepthByPercentagePoints

        void slabDepthByPercentagePoints​(int percentage)
      • slabToPercent

        public void slabToPercent​(int percentSlab)
      • depthToPercent

        public void depthToPercent​(int percentDepth)
      • zSlabToPercent

        void zSlabToPercent​(int percentSlab)
      • zDepthToPercent

        void zDepthToPercent​(int percentDepth)
      • slabInternal

        public void slabInternal​(javajs.util.P4 plane,
                                 boolean isDepth)
      • setSlabDepthInternal

        public void setSlabDepthInternal​(boolean isDepth)
        set internal slab or depth from screen-based slab or depth
        Parameters:
        isDepth -
      • getSlabDepthPlane

        private javajs.util.P4 getSlabDepthPlane​(boolean isDepth)
      • getCameraFactors

        public javajs.util.P3[] getCameraFactors()
        This method returns data needed by the VRML, X3D, and IDTF/U3D exporters. It also should serve as a valuable resource for anyone adapting Jmol and wanting to know how the Jmol 11+ camera business works.
        Returns:
        a set of camera data
      • setPerspectiveDepth

        void setPerspectiveDepth​(boolean perspectiveDepth)
      • getPerspectiveDepth

        public boolean getPerspectiveDepth()
      • setCameraDepthPercent

        public void setCameraDepthPercent​(float percent,
                                          boolean resetSlab)
        either as a percent -300, or as a float 3.0 note this percent is of zoom=100 size of model
        Parameters:
        percent -
        resetSlab -
      • getCameraDepth

        public float getCameraDepth()
      • setScreenParameters0

        private void setScreenParameters0​(int screenWidth,
                                          int screenHeight,
                                          boolean useZoomLarge,
                                          boolean antialias,
                                          boolean resetSlab,
                                          boolean resetZoom)
      • setAntialias

        void setAntialias​(boolean TF)
      • defaultScaleToScreen

        public float defaultScaleToScreen​(float radius)
      • resetFitToScreen

        private void resetFitToScreen​(boolean andCenter)
      • scaleFitToScreen

        void scaleFitToScreen​(boolean andCenter,
                              boolean zoomLarge,
                              boolean resetSlab,
                              boolean resetZoom)
      • scaleToScreen

        public float scaleToScreen​(int z,
                                   int milliAngstroms)
      • unscaleToScreen

        public float unscaleToScreen​(float z,
                                     float screenDistance)
      • scaleToPerspective

        public float scaleToPerspective​(int z,
                                        float sizeAngstroms)
      • setNavigationMode

        void setNavigationMode​(boolean TF)
      • isNavigating

        public boolean isNavigating()
      • finalizeTransformParameters

        public void finalizeTransformParameters()
      • getZoomSetting

        public float getZoomSetting()
      • calcSlabAndDepthValues

        public void calcSlabAndDepthValues()
        sets slab and depth, possibly using visual range considerations for setting the slab-clipping plane. (slab on; slab 0) superceded in navigation mode
      • zValueFromPercent

        public int zValueFromPercent​(int zPercent)
      • calcTransformMatrix

        public void calcTransformMatrix()
      • rotatePoint

        public void rotatePoint​(javajs.util.T3 pt,
                                javajs.util.T3 ptRot)
      • getScreenTemp

        protected void getScreenTemp​(javajs.util.T3 ptXYZ)
      • transformPtScr

        public void transformPtScr​(javajs.util.T3 ptXYZ,
                                   javajs.util.P3i pointScreen)
      • transformPtScrT3

        public void transformPtScrT3​(javajs.util.T3 ptXYZ,
                                     javajs.util.T3 pointScreen)
      • transformPt3f

        public void transformPt3f​(javajs.util.T3 ptXYZ,
                                  javajs.util.P3 screen)
      • transformPtNoClip

        public void transformPtNoClip​(javajs.util.T3 ptXYZ,
                                      javajs.util.T3 pointScreen)
      • transformPt

        public javajs.util.P3i transformPt​(javajs.util.T3 ptXYZ)
        CAUTION! returns a POINTER TO A TEMPORARY VARIABLE
        Parameters:
        ptXYZ -
        Returns:
        POINTER TO point3iScreenTemp
      • transformPtVib

        public javajs.util.P3i transformPtVib​(javajs.util.P3 ptXYZ,
                                              Vibration v)
        Parameters:
        ptXYZ -
        v -
        Returns:
        POINTER TO TEMPORARY VARIABLE (caution!) point3iScreenTemp
      • getVibrationPoint

        public javajs.util.T3 getVibrationPoint​(Vibration v,
                                                javajs.util.T3 pt,
                                                float scale)
        return
        Parameters:
        v -
        pt - temporary value; also returned
        scale -
        Returns:
        pt
      • transformPt2D

        public javajs.util.P3i transformPt2D​(javajs.util.T3 ptXyp)
      • applyPerspective

        private javajs.util.P3i applyPerspective​(javajs.util.T3 ptXYZ,
                                                 javajs.util.T3 ptRef)
        adjusts the temporary point for perspective and offsets
        Parameters:
        ptXYZ -
        ptRef -
        Returns:
        temporary point!!!
      • xyzIsSlabbedInternal

        public boolean xyzIsSlabbedInternal​(javajs.util.T3 ptRef)
      • move

        void move​(JmolScriptEvaluator eval,
                  javajs.util.V3 dRot,
                  float dZoom,
                  javajs.util.V3 dTrans,
                  float dSlab,
                  float floatSecondsTotal,
                  int fps)
      • isInPosition

        public boolean isInPosition​(javajs.util.V3 axis,
                                    float degrees)
      • moveToPyMOL

        public boolean moveToPyMOL​(JmolScriptEvaluator eval,
                                   float floatSecondsTotal,
                                   float[] pymolView)
      • moveTo

        void moveTo​(JmolScriptEvaluator eval,
                    float floatSecondsTotal,
                    javajs.util.P3 center,
                    javajs.util.T3 rotAxis,
                    float degrees,
                    javajs.util.M3 matrixEnd,
                    float zoom,
                    float xTrans,
                    float yTrans,
                    float newRotationRadius,
                    javajs.util.P3 navCenter,
                    float xNav,
                    float yNav,
                    float navDepth,
                    float cameraDepth,
                    float cameraX,
                    float cameraY)
      • setAll

        public void setAll​(javajs.util.P3 center,
                           javajs.util.M3 m,
                           javajs.util.P3 navCenter,
                           float zoom,
                           float xTrans,
                           float yTrans,
                           float rotationRadius,
                           float pixelScale,
                           float navDepth,
                           float xNav,
                           float yNav,
                           float cameraDepth,
                           float cameraX,
                           float cameraY)
      • stopMotion

        public void stopMotion()
      • getRotationText

        String getRotationText()
      • getMoveToText

        public String getMoveToText​(float timespan,
                                    boolean addComments)
      • getCenterText

        private String getCenterText()
      • getRotateXyzText

        private String getRotateXyzText()
      • addZoomTranslationNavigationText

        private void addZoomTranslationNavigationText​(javajs.util.SB sb)
      • getRotateZyzText

        private String getRotateZyzText​(boolean iAddComment)
      • truncate0

        private static void truncate0​(javajs.util.SB sb,
                                      float val)
      • truncate2

        private static void truncate2​(javajs.util.SB sb,
                                      float val)
      • setSpinXYZ

        void setSpinXYZ​(float x,
                        float y,
                        float z)
      • setSpinFps

        void setSpinFps​(int value)
      • setNavXYZ

        public void setNavXYZ​(float x,
                              float y,
                              float z)
      • clearSpin

        private void clearSpin()
      • setSpinOn

        public void setSpinOn()
      • setSpinOff

        public void setSpinOff()
      • setSpin

        private void setSpin​(JmolScriptEvaluator eval,
                             boolean spinOn,
                             float endDegrees,
                             javajs.util.Lst<javajs.util.P3> endPositions,
                             float[] dihedralList,
                             javajs.util.BS bsAtoms,
                             boolean isGesture)
      • setNavOn

        public void setNavOn​(boolean navOn)
      • setVibrationScale

        void setVibrationScale​(float scale)
      • setVibrationPeriod

        public void setVibrationPeriod​(float period)
        sets the period of vibration -- period > 0: sets the period and turns vibration on -- period < 0: sets the period but does not turn vibration on -- period = 0: sets the period to zero and turns vibration off -- period Float.NaN: uses current setting (frame change)
        Parameters:
        period -
      • setVibrationT

        public void setVibrationT​(float t)
      • isVibrationOn

        boolean isVibrationOn()
      • setVibrationOn

        private void setVibrationOn​(boolean vibrationOn)
      • clearVibration

        private void clearVibration()
      • setStereoMode2

        void setStereoMode2​(int[] twoColors)
      • setStereoMode

        void setStereoMode​(STER stereoMode)
      • setStereoDegrees

        void setStereoDegrees​(float stereoDegrees)
      • getStereoRotationMatrix

        javajs.util.M3 getStereoRotationMatrix​(boolean stereoFrame)
      • isWindowCentered

        public boolean isWindowCentered()
      • setWindowCentered

        void setWindowCentered​(boolean TF)
      • setRotationRadius

        public float setRotationRadius​(float angstroms,
                                       boolean doAll)
      • setRotationCenterAndRadiusXYZ

        private void setRotationCenterAndRadiusXYZ​(javajs.util.T3 newCenterOfRotation,
                                                   boolean andRadius)
      • setNewRotationCenter

        void setNewRotationCenter​(javajs.util.P3 center,
                                  boolean doScale)
      • moveRotationCenter

        public void moveRotationCenter​(javajs.util.P3 center,
                                       boolean toXY)
      • setCenter

        void setCenter()
      • setCenterAt

        public void setCenterAt​(int relativeTo,
                                javajs.util.P3 pt)
      • setFrameOffset

        void setFrameOffset​(int modelIndex)
      • setSelectedTranslation

        void setSelectedTranslation​(javajs.util.BS bsAtoms,
                                    char xyz,
                                    int xy)
      • setNavFps

        protected void setNavFps​(int navFps)
      • calcCameraFactors

        public void calcCameraFactors()
        sets all camera and scale factors needed by the specific perspective model instantiated
      • calcNavCameraFactors

        private void calcNavCameraFactors​(float offset100)
      • getPerspectiveFactor

        public float getPerspectiveFactor​(float z)
        calculate the perspective factor based on z
        Parameters:
        z -
        Returns:
        perspectiveFactor
      • unTransformPoint

        public void unTransformPoint​(javajs.util.T3 screenPt,
                                     javajs.util.T3 coordPt)
      • resetNavigationPoint

        protected void resetNavigationPoint​(boolean doResetSlab)
        something has arisen that requires resetting of the navigation point.
        Parameters:
        doResetSlab -
      • setNavigatePt

        public void setNavigatePt​(javajs.util.P3 pt)
        scripted entry point for navigation
        Parameters:
        pt -
      • setNavigationSlabOffsetPercent

        void setNavigationSlabOffsetPercent​(float percent)
      • getNavigationOffset

        public javajs.util.P3 getNavigationOffset()
      • getNavPtHeight

        public float getNavPtHeight()
      • getNavigationOffsetPercent

        public float getNavigationOffsetPercent​(char XorY)
      • getNavigationText

        protected String getNavigationText​(boolean addComments)
      • setScreenParameters

        void setScreenParameters​(int screenWidth,
                                 int screenHeight,
                                 boolean useZoomLarge,
                                 boolean antialias,
                                 boolean resetSlab,
                                 boolean resetZoom)
      • navInterrupt

        private void navInterrupt()
      • getNav

        private boolean getNav()
      • navigateAxis

        public void navigateAxis​(javajs.util.V3 rotAxis,
                                 float degrees)
        scripted entry point for navigation
        Parameters:
        rotAxis -
        degrees -
      • setNavigationOffsetRelative

        public void setNavigationOffsetRelative()
      • navigateKey

        void navigateKey​(int keyCode,
                         int modifiers)
        entry point for keyboard-based navigation
        Parameters:
        keyCode - 0 indicates key released
        modifiers - shift,alt,ctrl
      • setNavigationDepthPercent

        public void setNavigationDepthPercent​(float percent)
        sets the position of the navigation offset relative to the model (50% center; 0% rear, 100% front; can be <0 or >100)
        Parameters:
        percent -
      • navTranslatePercentOrTo

        public void navTranslatePercentOrTo​(float seconds,
                                            float x,
                                            float y)
        seconds < 0 means "to (x,y)"; ≥ 0 mean "to (x%, y%)"
        Parameters:
        seconds -
        x -
        y -
      • calcNavigationPoint

        protected void calcNavigationPoint()
        All the magic happens here. all navigation effects go through this method
      • getNavigationState

        protected String getNavigationState()
        Returns:
        the script that defines the current navigation state