public class TransformManager
extends java.lang.Object
Constructor and Description |
---|
TransformManager(Viewer viewer,
int width,
int height) |
Modifier and Type | Method and Description |
---|---|
private void |
addZoomTranslationNavigationText(SB sb) |
(package private) int |
angstromsToPixels(float distance) |
private void |
applyRotation(Matrix3f mNew,
boolean isInternal,
BS bsAtoms,
V3 translation) |
void |
calcCameraFactors()
sets all camera and scale factors needed by the specific perspective model
instantiated
|
private void |
calcNavCameraFactors(float offset100) |
protected void |
calcNavigationPoint()
All the magic happens here.
|
void |
calcSlabAndDepthValues()
sets slab and depth, possibly using visual range considerations for setting
the slab-clipping plane.
|
void |
calcTransformMatrix() |
(package private) boolean |
canNavigate() |
void |
centerAt(int x,
int y,
P3 pt) |
(package private) void |
clear() |
private void |
clearSpin() |
private void |
clearVibration() |
float |
defaultScaleToScreen(float radius) |
(package private) void |
depthByPercentagePoints(int percentage) |
(package private) void |
depthToPercent(int percentDepth) |
void |
finalizeTransformParameters() |
(package private) void |
getAxisAngle(AxisAngle4f axisAngle) |
float |
getCameraDepth() |
(package private) P3[] |
getCameraFactors()
This method returns data needed by the VRML, X3D, and IDTF/U3D exporters.
|
private java.lang.String |
getCenterText() |
(package private) int |
getFrontPlane() |
Matrix3f |
getMatrixRotate() |
(package private) Matrix4f |
getMatrixtransform() |
(package private) java.lang.String |
getMoveToText(float timespan,
boolean addComments) |
private boolean |
getNav() |
P3 |
getNavigationCenter() |
float |
getNavigationDepthPercent() |
(package private) P3 |
getNavigationOffset() |
float |
getNavigationOffsetPercent(char XorY) |
protected java.lang.String |
getNavigationState() |
protected java.lang.String |
getNavigationText(boolean addComments) |
(package private) boolean |
getNavOn() |
float |
getNavPtHeight() |
(package private) void |
getNewFixedRotationCenter() |
(package private) java.util.Map<java.lang.String,java.lang.Object> |
getOrientationInfo() |
(package private) java.lang.String |
getOrientationText(int type) |
(package private) boolean |
getPerspectiveDepth() |
float |
getPerspectiveFactor(float z)
calculate the perspective factor based on z
|
private java.lang.String |
getRotateXyzText() |
private java.lang.String |
getRotateZyzText(boolean iAddComment) |
void |
getRotation(Matrix3f matrixRotation) |
(package private) P3 |
getRotationCenter() |
(package private) Quaternion |
getRotationQuaternion() |
(package private) float |
getRotationRadius() |
(package private) java.lang.String |
getRotationText() |
(package private) P4 |
getSlabDepthPlane(boolean isDepth) |
int |
getSlabPercentSetting() |
(package private) boolean |
getSpinOn() |
(package private) Matrix3f |
getStereoRotationMatrix(boolean stereoFrame) |
protected void |
getTemporaryScreenPoint(P3 pointAngstroms,
P3 pt0)
adjusts the temporary point for perspective and offsets
|
(package private) java.lang.String |
getTransformText() |
(package private) java.lang.String |
getTranslationScript() |
float |
getTranslationXPercent() |
float |
getTranslationYPercent() |
float |
getTranslationZPercent() |
(package private) Matrix4f |
getUnscaledTransformMatrix() |
(package private) float |
getZoomPercentFloat() |
(package private) float |
getZoomSetting() |
(package private) int |
getZShadeStart() |
void |
homePosition(boolean resetSpin) |
(package private) boolean |
isInPosition(V3 axis,
float degrees) |
(package private) boolean |
isNavigating() |
(package private) boolean |
isVibrationOn() |
(package private) boolean |
isWindowCentered() |
(package private) void |
move(JmolScriptEvaluator eval,
V3 dRot,
float dZoom,
V3 dTrans,
float dSlab,
float floatSecondsTotal,
int fps) |
void |
moveRotationCenter(P3 center,
boolean toXY) |
(package private) void |
moveTo(JmolScriptEvaluator eval,
float floatSecondsTotal,
P3 center,
Tuple3f rotAxis,
float degrees,
Matrix3f matrixEnd,
float zoom,
float xTrans,
float yTrans,
float newRotationRadius,
P3 navCenter,
float xNav,
float yNav,
float navDepth,
float cameraDepth,
float cameraX,
float cameraY) |
void |
moveToPyMOL(JmolScriptEvaluator eval,
float floatSecondsTotal,
float[] pymolView) |
void |
navigateAxis(V3 rotAxis,
float degrees)
scripted entry point for navigation
|
(package private) void |
navigateKey(int keyCode,
int modifiers)
entry point for keyboard-based navigation
|
void |
navigateList(JmolScriptEvaluator eval,
JmolList<java.lang.Object[]> list) |
private void |
navInterrupt() |
void |
navTranslatePercentOrTo(float seconds,
float x,
float y)
seconds < 0 means "to (x,y)"; >= 0 mean "to (x%, y%)"
|
(package private) int |
percentToPixels(char xyz,
float percent) |
private void |
resetFitToScreen(boolean andCenter) |
protected void |
resetNavigationPoint(boolean doResetSlab)
something has arisen that requires resetting of the navigation point.
|
private void |
resetXYCenter(int x,
int y) |
(package private) boolean |
rotateAboutPointsInternal(JmolScriptEvaluator eval,
P3 point1,
P3 point2,
float degreesPerSecond,
float endDegrees,
boolean isClockwise,
boolean isSpin,
BS bsAtoms,
boolean isGesture,
V3 translation,
JmolList<P3> finalPoints,
float[] dihedralList) |
(package private) void |
rotateArcBall(float x,
float y,
float factor) |
void |
rotateAxisAngle(V3 rotAxis,
float radians) |
private void |
rotateAxisAngle2(AxisAngle4f axisAngle,
BS bsAtoms) |
(package private) boolean |
rotateAxisAngleAtCenter(JmolScriptEvaluator eval,
P3 rotCenter,
V3 rotAxis,
float degreesPerSecond,
float endDegrees,
boolean isSpin,
BS bsAtoms) |
void |
rotateAxisAngleRadiansFixed(float angleRadians,
BS bsAtoms) |
void |
rotateAxisAngleRadiansInternal(float radians,
BS bsAtoms) |
(package private) void |
rotateFront() |
(package private) void |
rotatePoint(P3 pt,
P3 ptRot) |
(package private) void |
rotateX(float angleRadians) |
void |
rotateXRadians(float angleRadians,
BS bsAtoms) |
(package private) void |
rotateXYBy(float xDelta,
float yDelta,
BS bsAtoms) |
(package private) void |
rotateY(float angleRadians) |
void |
rotateYRadians(float angleRadians,
BS bsAtoms) |
(package private) void |
rotateZ(float angleRadians) |
(package private) void |
rotateZBy(int zDelta,
int x,
int y) |
void |
rotateZRadians(float angleRadians) |
(package private) void |
scaleFitToScreen(boolean andCenter,
boolean zoomLarge,
boolean resetSlab,
boolean resetZoom) |
(package private) float |
scaleToPerspective(int z,
float sizeAngstroms) |
(package private) float |
scaleToScreen(int z,
int milliAngstroms) |
(package private) void |
setAntialias(boolean TF) |
void |
setCamera(float x,
float y) |
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
|
(package private) void |
setCenter() |
(package private) void |
setCenterAt(java.lang.String relativeTo,
P3 pt) |
private void |
setFixedRotationCenter(P3 center) |
(package private) void |
setFrameOffset(int modelIndex) |
(package private) void |
setFrameOffsets(P3[] offsets) |
protected void |
setNavFps(int navFps) |
void |
setNavigatePt(P3 pt)
scripted entry point for navigation
|
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)
|
(package private) void |
setNavigationMode(boolean TF) |
void |
setNavigationOffsetRelative() |
(package private) void |
setNavigationSlabOffsetPercent(float percent) |
void |
setNavOn(boolean navOn) |
(package private) void |
setNavXYZ(float x,
float y,
float z) |
(package private) void |
setNewRotationCenter(P3 center,
boolean doScale) |
(package private) void |
setPerspectiveDepth(boolean perspectiveDepth) |
void |
setRotation(Matrix3f matrixRotation) |
private void |
setRotationCenterAndRadiusXYZ(P3 newCenterOfRotation,
boolean andRadius) |
(package private) void |
setRotationPointXY(P3 center) |
float |
setRotationRadius(float angstroms,
boolean doAll) |
private void |
setRotCenterRel(java.lang.String relativeTo,
P3 pt) |
(package private) void |
setScaleAngstromsPerInch(float angstromsPerInch) |
(package private) void |
setScreenParameters(int screenWidth,
int screenHeight,
boolean useZoomLarge,
boolean antialias,
boolean resetSlab,
boolean resetZoom) |
private void |
setScreenParameters0(int screenWidth,
int screenHeight,
boolean useZoomLarge,
boolean antialias,
boolean resetSlab,
boolean resetZoom) |
(package private) void |
setSelectedTranslation(BS bsAtoms,
char xyz,
int xy) |
(package private) void |
setSlabDepthInternal(boolean isDepth)
set internal slab or depth from screen-based slab or depth
|
(package private) void |
setSlabEnabled(boolean slabEnabled) |
void |
setSlabRange(float value) |
private void |
setSpin(JmolScriptEvaluator eval,
boolean spinOn,
float endDegrees,
JmolList<P3> endPositions,
float[] dihedralList,
BS bsAtoms,
boolean isGesture) |
(package private) void |
setSpinFps(int value) |
void |
setSpinOff() |
void |
setSpinOn() |
(package private) void |
setSpinXYZ(float x,
float y,
float z) |
(package private) void |
setStereoDegrees(float stereoDegrees) |
(package private) void |
setStereoMode(EnumStereoMode stereoMode) |
(package private) void |
setStereoMode2(int[] twoColors) |
(package private) void |
setTranslationFractions() |
private void |
setVibrationOn(boolean vibrationOn) |
(package private) 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)
|
(package private) void |
setVibrationScale(float scale) |
void |
setVibrationT(float t) |
private void |
setViewer(Viewer viewer,
int width,
int height) |
(package private) void |
setVisualRange(float angstroms) |
(package private) void |
setWindowCentered(boolean TF) |
(package private) void |
setZoomEnabled(boolean zoomEnabled) |
void |
setZoomHeight(boolean zoomHeight,
boolean zoomLarge) |
(package private) void |
setZShadeEnabled(boolean zShadeEnabled) |
(package private) void |
setZslabPoint(P3 pt) |
(package private) void |
slabByPercentagePoints(int percentage) |
(package private) void |
slabDepthByPercentagePoints(int percentage) |
private void |
slabDepthChanged() |
(package private) void |
slabInternal(P4 plane,
boolean isDepth) |
(package private) void |
slabReset() |
void |
slabToPercent(int percentSlab) |
(package private) void |
spinXYBy(int xDelta,
int yDelta,
float speed) |
void |
stopMotion() |
(package private) P3i |
transformPoint(P3 pointAngstroms)
CAUTION! returns a POINTER TO A TEMPORARY VARIABLE
|
void |
transformPoint2(P3 pointAngstroms,
P3 screen) |
(package private) P3 |
transformPointNoClip(P3 pointAngstroms)
CAUTION! returns a POINTER TO A TEMPORARY VARIABLE
|
(package private) void |
transformPointNoClip2(P3 pointAngstroms,
P3 pointScreen) |
(package private) void |
transformPoints(int count,
P3[] angstroms,
P3i[] screens) |
(package private) void |
transformPointScr(P3 pointAngstroms,
P3i pointScreen) |
(package private) P3i |
transformPointVib(P3 pointAngstroms,
Vibration v) |
private P3i |
transformScreenPoint(P3 ptXyp) |
(package private) void |
transformVector(V3 vectorAngstroms,
V3 vectorTransformed) |
void |
translateToPercent(char type,
float percent) |
(package private) void |
translateXYBy(int xDelta,
int yDelta) |
(package private) void |
translateZBy(int pixels) |
private static void |
truncate0(SB sb,
float val) |
private static void |
truncate2(SB sb,
float val) |
(package private) float |
unscaleToScreen(float z,
float screenDistance) |
void |
unTransformPoint(P3 screenPt,
P3 coordPt) |
(package private) void |
zDepthToPercent(int percentDepth) |
protected void |
zoomBy(int pixels)
standard response to user mouse vertical shift-drag
|
(package private) void |
zoomByFactor(float factor,
int x,
int y) |
(package private) void |
zoomByFactor0(float factor,
int x,
int y) |
(package private) void |
zoomByPercent(float percentZoom) |
void |
zoomToPercent(float percentZoom) |
(package private) void |
zSlabToPercent(int percentSlab) |
(package private) int |
zValueFromPercent(int zPercent) |
Viewer viewer
public static final double degreesPerRadian
static final int DEFAULT_NAV_FPS
protected int perspectiveModel
protected float cameraScaleFactor
public float referencePlaneOffset
protected float aperatureAngle
protected float cameraDistanceFromCenter
public float modelCenterOffset
public float modelRadius
public float modelRadiusPixels
public final P3 navigationCenter
public final P3 navigationOffset
public final P3 navigationShiftXY
public float navigationDepth
protected final Matrix4f matrixTemp
protected final V3 vectorTemp
protected boolean haveNotifiedNaN
static final int DEFAULT_SPIN_Y
static final int DEFAULT_SPIN_FPS
public float spinX
public float spinY
public float spinZ
public float spinFps
public float navX
public float navY
public float navZ
public float navFps
public boolean isSpinInternal
public boolean isSpinFixed
boolean isSpinSelected
public final P3 fixedRotationOffset
public final P3 fixedRotationCenter
protected final P3 perspectiveOffset
protected final P3 perspectiveShiftXY
private final P3 rotationCenterDefault
private float rotationRadiusDefault
public final AxisAngle4f fixedRotationAxis
public final AxisAngle4f internalRotationAxis
protected V3 internalTranslation
final P3 internalRotationCenter
private float internalRotationAngle
protected final Matrix3f matrixRotate
private final Matrix3f matrixTemp3
private final Matrix4f matrixTemp4
private final AxisAngle4f axisangleT
private final V3 vectorT
private final V3 vectorT2
private final P3 pointT2
static final int MAXIMUM_ZOOM_PERCENTAGE
static final int MAXIMUM_ZOOM_PERSPECTIVE_DEPTH
V3 rotationAxis
float rotationRate
final V3 arcBall0
final V3 arcBall1
final V3 arcBallAxis
final Matrix3f arcBall0Rotation
public final P3 fixedTranslation
public final P3 camera
public final P3 cameraSetting
float xTranslationFraction
float yTranslationFraction
protected float prevZoomSetting
public float previousX
public float previousY
boolean zoomEnabled
public float zoomPercent
float zoomPercentSetting
float zoomRatio
public boolean slabEnabled
boolean internalSlab
boolean zShadeEnabled
int slabPercentSetting
int depthPercentSetting
public int zSlabPercentSetting
public int zDepthPercentSetting
P3 zSlabPoint
public int slabValue
public int depthValue
public int zSlabValue
int zDepthValue
float slabRange
P4 slabPlane
P4 depthPlane
protected boolean perspectiveDepth
protected boolean scale3D
protected float cameraDepth
protected float cameraDepthSetting
protected float visualRange
protected float cameraDistance
public int width
public int height
public int screenPixelCount
float scalePixelsPerAngstrom
public float scaleDefaultPixelsPerAngstrom
float scale3DAngstromsPerInch
protected boolean antialias
private boolean useZoomLarge
private boolean zoomHeight
int screenWidth
int screenHeight
public final Matrix4f matrixTransform
public final Matrix4f matrixTransformInv
protected final P3 point3fScreenTemp
protected final P3i point3iScreenTemp
private final P3 ptVibTemp
public boolean navigating
protected static final int MODE_STANDARD
public static final int MODE_NAVIGATION
protected static final int MODE_PERSPECTIVE_PYMOL
static final int DEFAULT_PERSPECTIVE_MODEL
public int mode
public int defaultMode
private final P3 pointTsp
protected final P3 untransformedPoint
protected final P3 ptTest1
protected final P3 ptTest2
protected final P3 ptTest3
protected final AxisAngle4f aaTest1
protected final Matrix3f matrixTest
public MoveToThread motion
public boolean spinOn
public boolean navOn
private SpinThread spinThread
boolean vibrationOn
float vibrationPeriod
public int vibrationPeriodMs
private float vibrationScale
private double vibrationT
private VibrationThread vibrationThread
EnumStereoMode stereoMode
int[] stereoColors
float stereoDegrees
float stereoRadians
boolean stereoFrame
protected final Matrix3f matrixStereo
public boolean windowCentered
P3[] frameOffsets
final P3 frameOffset
BS bsSelectedAtoms
P3 ptOffset
public static final int NAV_MODE_IGNORE
public static final int NAV_MODE_ZOOMED
public static final int NAV_MODE_NONE
public static final int NAV_MODE_RESET
public static final int NAV_MODE_NEWXY
public static final int NAV_MODE_NEWXYZ
public static final int NAV_MODE_NEWZ
public int navMode
public float zoomFactor
public float navigationSlabOffset
private JmolNavigatorInterface nav
TransformManager(Viewer viewer, int width, int height)
private void setViewer(Viewer viewer, int width, int height)
public void homePosition(boolean resetSpin)
void clear()
private void setFixedRotationCenter(P3 center)
void setRotationPointXY(P3 center)
void spinXYBy(int xDelta, int yDelta, float speed)
void rotateArcBall(float x, float y, float factor)
void rotateXYBy(float xDelta, float yDelta, BS bsAtoms)
void rotateZBy(int zDelta, int x, int y)
void rotateFront()
void rotateX(float angleRadians)
void rotateY(float angleRadians)
void rotateZ(float angleRadians)
private void applyRotation(Matrix3f mNew, boolean isInternal, BS bsAtoms, V3 translation)
public void rotateXRadians(float angleRadians, BS bsAtoms)
public void rotateYRadians(float angleRadians, BS bsAtoms)
public void rotateZRadians(float angleRadians)
public void rotateAxisAngle(V3 rotAxis, float radians)
private void rotateAxisAngle2(AxisAngle4f axisAngle, BS bsAtoms)
boolean rotateAxisAngleAtCenter(JmolScriptEvaluator eval, P3 rotCenter, V3 rotAxis, float degreesPerSecond, float endDegrees, boolean isSpin, BS bsAtoms)
public void rotateAxisAngleRadiansFixed(float angleRadians, BS bsAtoms)
boolean rotateAboutPointsInternal(JmolScriptEvaluator eval, P3 point1, P3 point2, float degreesPerSecond, float endDegrees, boolean isClockwise, boolean isSpin, BS bsAtoms, boolean isGesture, V3 translation, JmolList<P3> finalPoints, float[] dihedralList)
eval
- point1
- point2
- degreesPerSecond
- endDegrees
- isClockwise
- isSpin
- bsAtoms
- isGesture
- translation
- finalPoints
- dihedralList
- public void rotateAxisAngleRadiansInternal(float radians, BS bsAtoms)
void getNewFixedRotationCenter()
void setTranslationFractions()
public void centerAt(int x, int y, P3 pt)
int percentToPixels(char xyz, float percent)
int angstromsToPixels(float distance)
void translateXYBy(int xDelta, int yDelta)
public void setCamera(float x, float y)
public void translateToPercent(char type, float percent)
public float getTranslationXPercent()
public float getTranslationYPercent()
public float getTranslationZPercent()
java.lang.String getTranslationScript()
java.lang.String getOrientationText(int type)
java.util.Map<java.lang.String,java.lang.Object> getOrientationInfo()
void getAxisAngle(AxisAngle4f axisAngle)
java.lang.String getTransformText()
public Matrix3f getMatrixRotate()
public void setRotation(Matrix3f matrixRotation)
public void getRotation(Matrix3f matrixRotation)
protected void zoomBy(int pixels)
pixels
- float getZoomPercentFloat()
public void zoomToPercent(float percentZoom)
void translateZBy(int pixels)
void zoomByFactor0(float factor, int x, int y)
private void resetXYCenter(int x, int y)
void zoomByPercent(float percentZoom)
void setScaleAngstromsPerInch(float angstromsPerInch)
void setZslabPoint(P3 pt)
int getZShadeStart()
public void setSlabRange(float value)
void setSlabEnabled(boolean slabEnabled)
void setZShadeEnabled(boolean zShadeEnabled)
void setZoomEnabled(boolean zoomEnabled)
void slabReset()
public int getSlabPercentSetting()
void slabByPercentagePoints(int percentage)
private void slabDepthChanged()
void depthByPercentagePoints(int percentage)
void slabDepthByPercentagePoints(int percentage)
public void slabToPercent(int percentSlab)
void depthToPercent(int percentDepth)
void zSlabToPercent(int percentSlab)
void zDepthToPercent(int percentDepth)
void slabInternal(P4 plane, boolean isDepth)
void setSlabDepthInternal(boolean isDepth)
isDepth
- P4 getSlabDepthPlane(boolean isDepth)
P3[] getCameraFactors()
int getFrontPlane()
void setPerspectiveDepth(boolean perspectiveDepth)
boolean getPerspectiveDepth()
public void setCameraDepthPercent(float percent, boolean resetSlab)
percent
- resetSlab
- public float getCameraDepth()
void setVisualRange(float angstroms)
Matrix4f getUnscaledTransformMatrix()
private void setScreenParameters0(int screenWidth, int screenHeight, boolean useZoomLarge, boolean antialias, boolean resetSlab, boolean resetZoom)
void setAntialias(boolean TF)
public float defaultScaleToScreen(float radius)
private void resetFitToScreen(boolean andCenter)
void scaleFitToScreen(boolean andCenter, boolean zoomLarge, boolean resetSlab, boolean resetZoom)
float scaleToScreen(int z, int milliAngstroms)
float unscaleToScreen(float z, float screenDistance)
float scaleToPerspective(int z, float sizeAngstroms)
Matrix4f getMatrixtransform()
void setNavigationMode(boolean TF)
boolean isNavigating()
public void finalizeTransformParameters()
float getZoomSetting()
public void calcSlabAndDepthValues()
int zValueFromPercent(int zPercent)
public void calcTransformMatrix()
P3i transformPoint(P3 pointAngstroms)
pointAngstroms
- P3 transformPointNoClip(P3 pointAngstroms)
pointAngstroms
- P3i transformPointVib(P3 pointAngstroms, Vibration v)
pointAngstroms
- v
- void move(JmolScriptEvaluator eval, V3 dRot, float dZoom, V3 dTrans, float dSlab, float floatSecondsTotal, int fps)
boolean isInPosition(V3 axis, float degrees)
public void moveToPyMOL(JmolScriptEvaluator eval, float floatSecondsTotal, float[] pymolView)
void moveTo(JmolScriptEvaluator eval, float floatSecondsTotal, P3 center, Tuple3f rotAxis, float degrees, Matrix3f matrixEnd, float zoom, float xTrans, float yTrans, float newRotationRadius, P3 navCenter, float xNav, float yNav, float navDepth, float cameraDepth, float cameraX, float cameraY)
public void stopMotion()
Quaternion getRotationQuaternion()
java.lang.String getRotationText()
java.lang.String getMoveToText(float timespan, boolean addComments)
private java.lang.String getCenterText()
private java.lang.String getRotateXyzText()
private void addZoomTranslationNavigationText(SB sb)
private java.lang.String getRotateZyzText(boolean iAddComment)
private static void truncate0(SB sb, float val)
private static void truncate2(SB sb, float val)
void setSpinXYZ(float x, float y, float z)
void setSpinFps(int value)
void setNavXYZ(float x, float y, float z)
private void clearSpin()
boolean getSpinOn()
boolean getNavOn()
public void setSpinOn()
public void setSpinOff()
private void setSpin(JmolScriptEvaluator eval, boolean spinOn, float endDegrees, JmolList<P3> endPositions, float[] dihedralList, BS bsAtoms, boolean isGesture)
public void setNavOn(boolean navOn)
void setVibrationScale(float scale)
void setVibrationPeriod(float period)
period
- public void setVibrationT(float t)
boolean isVibrationOn()
private void setVibrationOn(boolean vibrationOn)
private void clearVibration()
void setStereoMode2(int[] twoColors)
void setStereoMode(EnumStereoMode stereoMode)
void setStereoDegrees(float stereoDegrees)
Matrix3f getStereoRotationMatrix(boolean stereoFrame)
boolean isWindowCentered()
void setWindowCentered(boolean TF)
P3 getRotationCenter()
float getRotationRadius()
public float setRotationRadius(float angstroms, boolean doAll)
private void setRotationCenterAndRadiusXYZ(P3 newCenterOfRotation, boolean andRadius)
private void setRotCenterRel(java.lang.String relativeTo, P3 pt)
void setNewRotationCenter(P3 center, boolean doScale)
public void moveRotationCenter(P3 center, boolean toXY)
void setCenter()
void setCenterAt(java.lang.String relativeTo, P3 pt)
void setFrameOffset(int modelIndex)
void setFrameOffsets(P3[] offsets)
void setSelectedTranslation(BS bsAtoms, char xyz, int xy)
protected void setNavFps(int navFps)
public void calcCameraFactors()
private void calcNavCameraFactors(float offset100)
public float getPerspectiveFactor(float z)
z
- protected void getTemporaryScreenPoint(P3 pointAngstroms, P3 pt0)
pointAngstroms
- pt0
- boolean canNavigate()
protected void resetNavigationPoint(boolean doResetSlab)
doResetSlab
- public void setNavigatePt(P3 pt)
pt
- public P3 getNavigationCenter()
public float getNavigationDepthPercent()
void setNavigationSlabOffsetPercent(float percent)
P3 getNavigationOffset()
public float getNavPtHeight()
public float getNavigationOffsetPercent(char XorY)
protected java.lang.String getNavigationText(boolean addComments)
void setScreenParameters(int screenWidth, int screenHeight, boolean useZoomLarge, boolean antialias, boolean resetSlab, boolean resetZoom)
private void navInterrupt()
private boolean getNav()
public void navigateList(JmolScriptEvaluator eval, JmolList<java.lang.Object[]> list)
public void navigateAxis(V3 rotAxis, float degrees)
rotAxis
- degrees
- void zoomByFactor(float factor, int x, int y)
public void setNavigationOffsetRelative()
void navigateKey(int keyCode, int modifiers)
keyCode
- 0 indicates key releasedmodifiers
- shift,alt,ctrlpublic void setNavigationDepthPercent(float percent)
percent
- public void navTranslatePercentOrTo(float seconds, float x, float y)
seconds
- x
- y
- protected void calcNavigationPoint()
protected java.lang.String getNavigationState()
public void setZoomHeight(boolean zoomHeight, boolean zoomLarge)