public class TransformManager
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected javajs.util.A4 |
aaTest1 |
protected boolean |
antialias |
protected float |
aperatureAngle |
private javajs.util.A4 |
axisangleT |
(package private) BS |
bsSelectedAtoms |
javajs.util.P3 |
camera |
protected float |
cameraDepth |
protected float |
cameraDepthSetting |
float |
cameraDistance |
protected float |
cameraDistanceFromCenter |
protected float |
cameraScaleFactor |
javajs.util.P3 |
cameraSetting |
(package private) static float |
DEFAULT_CAMERA_DEPTH |
(package private) static int |
DEFAULT_NAV_FPS |
(package private) static boolean |
DEFAULT_PERSPECTIVE_DEPTH |
(package private) static int |
DEFAULT_PERSPECTIVE_MODEL |
(package private) static int |
DEFAULT_SPIN_FPS |
(package private) static int |
DEFAULT_SPIN_Y |
static int |
DEFAULT_STEREO_DEGREES |
static float |
DEFAULT_VISUAL_RANGE |
int |
defaultMode |
static double |
degreesPerRadian |
(package private) int |
depthPercentSetting |
(package private) javajs.util.P4 |
depthPlane |
int |
depthValue |
protected boolean |
doTransform4D |
javajs.util.A4 |
fixedRotationAxis |
javajs.util.P3 |
fixedRotationCenter |
javajs.util.P3 |
fixedRotationOffset |
javajs.util.P3 |
fixedTranslation |
(package private) javajs.util.P3 |
frameOffset |
protected boolean |
haveNotifiedNaN |
int |
height |
private float |
internalRotationAngle |
javajs.util.A4 |
internalRotationAxis |
(package private) javajs.util.P3 |
internalRotationCenter |
(package private) boolean |
internalSlab |
protected javajs.util.V3 |
internalTranslation |
boolean |
isSpinFixed |
boolean |
isSpinInternal |
(package private) boolean |
isSpinSelected |
javajs.util.M3 |
matrixRotate |
protected javajs.util.M3 |
matrixStereo |
protected javajs.util.M4 |
matrixTemp |
protected javajs.util.M3 |
matrixTemp3 |
private javajs.util.M4 |
matrixTemp4 |
protected javajs.util.M3 |
matrixTest |
javajs.util.M4 |
matrixTransform |
javajs.util.M4 |
matrixTransformInv |
static int |
MAXIMUM_ZOOM_PERCENTAGE |
private static int |
MAXIMUM_ZOOM_PERSPECTIVE_DEPTH |
int |
mode |
static int |
MODE_NAVIGATION |
static int |
MODE_PERSPECTIVE_PYMOL |
static int |
MODE_STANDARD |
float |
modelCenterOffset |
float |
modelRadius |
float |
modelRadiusPixels |
JmolThread |
movetoThread |
private JmolNavigatorInterface |
nav |
static int |
NAV_MODE_IGNORE |
static int |
NAV_MODE_NEWXY |
static int |
NAV_MODE_NEWXYZ |
static int |
NAV_MODE_NEWZ |
static int |
NAV_MODE_NONE |
static int |
NAV_MODE_RESET |
static int |
NAV_MODE_ZOOMED |
float |
navFps |
boolean |
navigating |
javajs.util.P3 |
navigationCenter |
float |
navigationDepthPercent |
javajs.util.P3 |
navigationOffset |
javajs.util.P3 |
navigationShiftXY |
float |
navigationSlabOffset |
int |
navMode |
boolean |
navOn |
float |
navX |
float |
navY |
float |
navZ |
boolean |
perspectiveDepth |
protected int |
perspectiveModel |
protected javajs.util.P3 |
perspectiveOffset |
protected javajs.util.P3 |
perspectiveShiftXY |
protected javajs.util.P3 |
point3fScreenTemp |
protected javajs.util.P3i |
point3iScreenTemp |
private javajs.util.P3 |
pointT2 |
float |
previousX |
float |
previousY |
protected float |
prevZoomSetting |
(package private) javajs.util.P3 |
ptOffset |
protected javajs.util.P3 |
ptTest1 |
protected javajs.util.P3 |
ptTest2 |
protected javajs.util.P3 |
ptTest3 |
private Point3fi |
ptVibTemp |
float |
referencePlaneOffset |
(package private) javajs.util.V3 |
rotationAxis |
private javajs.util.P3 |
rotationCenterDefault |
private float |
rotationRadiusDefault |
(package private) float |
rotationRate |
protected boolean |
scale3D |
(package private) float |
scale3DAngstromsPerInch |
float |
scaleDefaultPixelsPerAngstrom |
(package private) float |
scalePixelsPerAngstrom |
(package private) int |
screenHeight |
int |
screenPixelCount |
(package private) int |
screenWidth |
boolean |
slabEnabled |
(package private) int |
slabPercentSetting |
(package private) javajs.util.P4 |
slabPlane |
(package private) float |
slabRange |
int |
slabValue |
float |
spinFps |
private boolean |
spinIsGesture |
boolean |
spinOn |
JmolThread |
spinThread |
float |
spinX |
float |
spinY |
float |
spinZ |
(package private) int[] |
stereoColors |
(package private) float |
stereoDegrees |
(package private) boolean |
stereoFrame |
(package private) STER |
stereoMode |
(package private) float |
stereoRadians |
protected javajs.util.P3 |
untransformedPoint |
private boolean |
useZoomLarge |
private javajs.util.V3 |
vectorT |
private javajs.util.V3 |
vectorT2 |
protected javajs.util.V3 |
vectorTemp |
boolean |
vibrationOn |
(package private) float |
vibrationPeriod |
int |
vibrationPeriodMs |
private float |
vibrationScale |
private javajs.util.P3 |
vibrationT |
JmolThread |
vibrationThread |
float |
visualRangeAngstroms |
protected Viewer |
vwr |
int |
width |
boolean |
windowCentered |
(package private) float |
xTranslationFraction |
(package private) float |
yTranslationFraction |
int |
zDepthPercentSetting |
int |
zDepthValue |
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
|
(package private) float |
zmPctSet
zoom percent setting
the current setting of zoom;
may not be the same as zmPct, particularly if zoom is not enabled
|
boolean |
zoomEnabled |
float |
zoomFactor |
private boolean |
zoomHeight |
private float |
zoomRatio |
boolean |
zShadeEnabled |
int |
zSlabPercentSetting |
javajs.util.P3 |
zSlabPoint |
int |
zSlabValue |
Constructor and Description |
---|
TransformManager() |
Modifier and Type | Method and Description |
---|---|
private void |
addZoomTranslationNavigationText(javajs.util.SB sb) |
(package private) int |
angstromsToPixels(float distance) |
private javajs.util.P3i |
applyPerspective(javajs.util.T3 ptXYZ,
javajs.util.T3 ptRef)
adjusts the temporary point for perspective and offsets
|
private void |
applyRotation(javajs.util.M3 mNew,
boolean isInternal,
BS bsAtoms,
javajs.util.V3 translation,
boolean translationOnly,
javajs.util.M4 m4) |
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() |
void |
centerAt(int x,
int y,
javajs.util.P3 pt) |
(package private) void |
clear() |
private void |
clearSpin() |
(package private) void |
clearThreads() |
private void |
clearVibration() |
float |
defaultScaleToScreen(float radius) |
(package private) void |
depthByPercentagePoints(int percentage) |
void |
depthToPercent(int percentDepth) |
void |
finalizeTransformParameters() |
float |
getCameraDepth() |
javajs.util.P3[] |
getCameraFactors()
This method returns data needed by the VRML, X3D, and IDTF/U3D exporters.
|
private java.lang.String |
getCenterText() |
java.lang.String |
getMoveToText(float timespan,
boolean addComments) |
private boolean |
getNav() |
javajs.util.P3 |
getNavigationOffset() |
float |
getNavigationOffsetPercent(char XorY) |
protected java.lang.String |
getNavigationState() |
protected java.lang.String |
getNavigationText(boolean addComments) |
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) |
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(javajs.util.M3 m) |
(package private) java.lang.String |
getRotationText() |
protected void |
getScreenTemp(javajs.util.T3 ptXYZ) |
(package private) javajs.util.P4 |
getSlabDepthPlane(boolean isDepth) |
int |
getSlabPercentSetting() |
(package private) javajs.util.M3 |
getStereoRotationMatrix(boolean stereoFrame) |
(package private) static TransformManager |
getTransformManager(Viewer vwr,
int width,
int height,
boolean is4D) |
java.lang.String |
getTranslationScript() |
float |
getTranslationXPercent() |
float |
getTranslationYPercent() |
javajs.util.T3 |
getVibrationPoint(Vibration v,
javajs.util.T3 pt,
float scale) |
float |
getZoomSetting() |
void |
homePosition(boolean resetSpin) |
boolean |
isInPosition(javajs.util.V3 axis,
float degrees) |
boolean |
isNavigating() |
(package private) boolean |
isVibrationOn() |
boolean |
isWindowCentered() |
(package private) void |
move(JmolScriptEvaluator eval,
javajs.util.V3 dRot,
float dZoom,
javajs.util.V3 dTrans,
float dSlab,
float floatSecondsTotal,
int fps) |
void |
moveRotationCenter(javajs.util.P3 center,
boolean toXY) |
(package private) 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) |
boolean |
moveToPyMOL(JmolScriptEvaluator eval,
float floatSecondsTotal,
float[] pymolView) |
void |
navigateAxis(javajs.util.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,
javajs.util.Lst<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.
|
void |
resetRotation() |
private void |
resetXYCenter(int x,
int y) |
protected void |
rotate3DBall(float xDeg,
float yDeg,
BS bsAtoms) |
(package private) boolean |
rotateAboutPointsInternal(JmolScriptEvaluator eval,
javajs.util.T3 point1,
javajs.util.T3 point2,
float degreesPerSecond,
float endDegrees,
boolean isClockwise,
boolean isSpin,
BS bsAtoms,
boolean isGesture,
javajs.util.V3 translation,
javajs.util.Lst<javajs.util.P3> finalPoints,
float[] dihedralList,
javajs.util.M4 m4) |
void |
rotateAxisAngle(javajs.util.V3 rotAxis,
float radians) |
private void |
rotateAxisAngle2(javajs.util.A4 axisAngle,
BS bsAtoms) |
(package private) boolean |
rotateAxisAngleAtCenter(JmolScriptEvaluator eval,
javajs.util.P3 rotCenter,
javajs.util.V3 rotAxis,
float degreesPerSecond,
float endDegrees,
boolean isSpin,
BS bsAtoms) |
void |
rotateAxisAngleRadiansFixed(float angleRadians,
BS bsAtoms) |
void |
rotateAxisAngleRadiansInternal(float radians,
BS bsAtoms,
javajs.util.M4 m4) |
void |
rotatePoint(javajs.util.T3 pt,
javajs.util.T3 ptRot) |
void |
rotateXRadians(float angleRadians,
BS bsAtoms) |
protected void |
rotateXYBy(float degX,
float degY,
BS bsAtoms) |
void |
rotateYRadians(float angleRadians,
BS bsAtoms) |
(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) |
float |
scaleToPerspective(int z,
float sizeAngstroms) |
float |
scaleToScreen(int z,
int milliAngstroms) |
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) |
(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() |
void |
setCenterAt(int relativeTo,
javajs.util.P3 pt) |
(package private) void |
setDefaultPerspective() |
private void |
setFixedRotationCenter(javajs.util.T3 center) |
(package private) void |
setFrameOffset(int modelIndex) |
protected void |
setNavFps(int navFps) |
void |
setNavigatePt(javajs.util.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) |
void |
setNavXYZ(float x,
float y,
float z) |
(package private) void |
setNewRotationCenter(javajs.util.P3 center,
boolean doScale) |
(package private) void |
setPerspectiveDepth(boolean perspectiveDepth) |
void |
setRotation(javajs.util.M3 m) |
private void |
setRotationCenterAndRadiusXYZ(javajs.util.T3 newCenterOfRotation,
boolean andRadius) |
(package private) void |
setRotationPointXY(javajs.util.P3 center) |
float |
setRotationRadius(float angstroms,
boolean doAll) |
(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) |
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,
javajs.util.Lst<javajs.util.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(STER stereoMode) |
(package private) void |
setStereoMode2(int[] twoColors) |
(package private) void |
setTranslationFractions() |
private void |
setVibrationOn(boolean vibrationOn) |
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) |
(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 |
slabByPercentagePoints(int percentage) |
(package private) void |
slabDepthByPercentagePoints(int percentage) |
private void |
slabDepthChanged() |
void |
slabInternal(javajs.util.P4 plane,
boolean isDepth) |
void |
slabReset() |
void |
slabToPercent(int percentSlab) |
(package private) void |
spinXYBy(int xDelta,
int yDelta,
float speed) |
void |
stopMotion() |
void |
transformPoints(int count,
javajs.util.T3[] angstroms,
javajs.util.P3i[] screens) |
javajs.util.P3i |
transformPt(javajs.util.T3 ptXYZ)
CAUTION! returns a POINTER TO A TEMPORARY VARIABLE
|
javajs.util.P3i |
transformPt2D(javajs.util.T3 ptXyp) |
void |
transformPt3f(javajs.util.T3 ptXYZ,
javajs.util.P3 screen) |
void |
transformPtNoClip(javajs.util.P3 ptXYZ,
javajs.util.P3 pointScreen) |
void |
transformPtScr(javajs.util.T3 ptXYZ,
javajs.util.P3i pointScreen) |
javajs.util.P3i |
transformPtVib(javajs.util.P3 ptXYZ,
Vibration v) |
void |
transformVector(javajs.util.V3 vectorAngstroms,
javajs.util.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(javajs.util.SB sb,
float val) |
private static void |
truncate2(javajs.util.SB sb,
float val) |
float |
unscaleToScreen(float z,
float screenDistance) |
void |
unTransformPoint(javajs.util.T3 screenPt,
javajs.util.T3 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 |
zoomByPercent(float percentZoom) |
void |
zoomToPercent(float percentZoom) |
(package private) void |
zSlabToPercent(int percentSlab) |
int |
zValueFromPercent(int zPercent) |
protected Viewer vwr
static final int DEFAULT_SPIN_Y
static final int DEFAULT_SPIN_FPS
static final int DEFAULT_NAV_FPS
public static final float DEFAULT_VISUAL_RANGE
public static final int DEFAULT_STEREO_DEGREES
public static final int MODE_STANDARD
public static final int MODE_NAVIGATION
public static final int MODE_PERSPECTIVE_PYMOL
static final int DEFAULT_PERSPECTIVE_MODEL
static final boolean DEFAULT_PERSPECTIVE_DEPTH
static final float DEFAULT_CAMERA_DEPTH
public JmolThread movetoThread
public JmolThread vibrationThread
public JmolThread spinThread
public static final double degreesPerRadian
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 javajs.util.P3 navigationCenter
public final javajs.util.P3 navigationOffset
public final javajs.util.P3 navigationShiftXY
public float navigationDepthPercent
protected final javajs.util.M4 matrixTemp
protected final javajs.util.V3 vectorTemp
protected boolean haveNotifiedNaN
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
protected boolean doTransform4D
public final javajs.util.P3 fixedRotationOffset
public final javajs.util.P3 fixedRotationCenter
protected final javajs.util.P3 perspectiveOffset
protected final javajs.util.P3 perspectiveShiftXY
private final javajs.util.P3 rotationCenterDefault
private float rotationRadiusDefault
public final javajs.util.A4 fixedRotationAxis
public final javajs.util.A4 internalRotationAxis
protected javajs.util.V3 internalTranslation
final javajs.util.P3 internalRotationCenter
private float internalRotationAngle
public final javajs.util.M3 matrixRotate
protected final javajs.util.M3 matrixTemp3
private final javajs.util.M4 matrixTemp4
private final javajs.util.A4 axisangleT
private final javajs.util.V3 vectorT
private final javajs.util.V3 vectorT2
private final javajs.util.P3 pointT2
public static final int MAXIMUM_ZOOM_PERCENTAGE
private static final int MAXIMUM_ZOOM_PERSPECTIVE_DEPTH
javajs.util.V3 rotationAxis
float rotationRate
public final javajs.util.P3 fixedTranslation
public final javajs.util.P3 camera
public final javajs.util.P3 cameraSetting
float xTranslationFraction
float yTranslationFraction
protected float prevZoomSetting
public float previousX
public float previousY
public boolean zoomEnabled
public float zmPct
float zmPctSet
private float zoomRatio
public boolean slabEnabled
public boolean zShadeEnabled
boolean internalSlab
int slabPercentSetting
int depthPercentSetting
public int slabValue
public int depthValue
public int zSlabPercentSetting
public int zDepthPercentSetting
public javajs.util.P3 zSlabPoint
public int zSlabValue
public int zDepthValue
float slabRange
javajs.util.P4 slabPlane
javajs.util.P4 depthPlane
public boolean perspectiveDepth
protected boolean scale3D
protected float cameraDepth
protected float cameraDepthSetting
public float visualRangeAngstroms
public 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 javajs.util.M4 matrixTransform
public final javajs.util.M4 matrixTransformInv
protected final javajs.util.P3 point3fScreenTemp
protected final javajs.util.P3i point3iScreenTemp
private final Point3fi ptVibTemp
public boolean navigating
public int mode
public int defaultMode
protected final javajs.util.P3 untransformedPoint
protected final javajs.util.P3 ptTest1
protected final javajs.util.P3 ptTest2
protected final javajs.util.P3 ptTest3
protected final javajs.util.A4 aaTest1
protected final javajs.util.M3 matrixTest
public boolean spinOn
public boolean navOn
private boolean spinIsGesture
public boolean vibrationOn
float vibrationPeriod
public int vibrationPeriodMs
private float vibrationScale
private javajs.util.P3 vibrationT
STER stereoMode
int[] stereoColors
float stereoDegrees
float stereoRadians
boolean stereoFrame
protected final javajs.util.M3 matrixStereo
public boolean windowCentered
final javajs.util.P3 frameOffset
BS bsSelectedAtoms
javajs.util.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
static TransformManager getTransformManager(Viewer vwr, int width, int height, boolean is4D)
void setDefaultPerspective()
public void homePosition(boolean resetSpin)
public void setRotation(javajs.util.M3 m)
public void resetRotation()
void clearThreads()
void clear()
private void setFixedRotationCenter(javajs.util.T3 center)
void setRotationPointXY(javajs.util.P3 center)
void spinXYBy(int xDelta, int yDelta, float speed)
protected void rotateXYBy(float degX, float degY, BS bsAtoms)
void rotateZBy(int zDelta, int x, int y)
private void applyRotation(javajs.util.M3 mNew, boolean isInternal, BS bsAtoms, javajs.util.V3 translation, boolean translationOnly, javajs.util.M4 m4)
protected void rotate3DBall(float xDeg, float yDeg, BS bsAtoms)
public void rotateXRadians(float angleRadians, BS bsAtoms)
public void rotateYRadians(float angleRadians, BS bsAtoms)
public void rotateZRadians(float angleRadians)
public void rotateAxisAngle(javajs.util.V3 rotAxis, float radians)
private void rotateAxisAngle2(javajs.util.A4 axisAngle, BS bsAtoms)
boolean rotateAxisAngleAtCenter(JmolScriptEvaluator eval, javajs.util.P3 rotCenter, javajs.util.V3 rotAxis, float degreesPerSecond, float endDegrees, boolean isSpin, BS bsAtoms)
public void rotateAxisAngleRadiansFixed(float angleRadians, BS bsAtoms)
boolean rotateAboutPointsInternal(JmolScriptEvaluator eval, javajs.util.T3 point1, javajs.util.T3 point2, float degreesPerSecond, float endDegrees, boolean isClockwise, boolean isSpin, BS bsAtoms, boolean isGesture, javajs.util.V3 translation, javajs.util.Lst<javajs.util.P3> finalPoints, float[] dihedralList, javajs.util.M4 m4)
eval
- point1
- point2
- degreesPerSecond
- endDegrees
- isClockwise
- isSpin
- bsAtoms
- isGesture
- translation
- finalPoints
- dihedralList
- m4
- public void rotateAxisAngleRadiansInternal(float radians, BS bsAtoms, javajs.util.M4 m4)
void getNewFixedRotationCenter()
void setTranslationFractions()
public void centerAt(int x, int y, javajs.util.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 java.lang.String getTranslationScript()
java.lang.String getOrientationText(int type)
java.util.Map<java.lang.String,java.lang.Object> getOrientationInfo()
public void getRotation(javajs.util.M3 m)
public void setZoomHeight(boolean zoomHeight, boolean zoomLarge)
protected void zoomBy(int pixels)
pixels
- void zoomByFactor(float factor, int x, int y)
public void zoomToPercent(float percentZoom)
void translateZBy(int pixels)
private void resetXYCenter(int x, int y)
void zoomByPercent(float percentZoom)
void setScaleAngstromsPerInch(float angstromsPerInch)
public void setSlabRange(float value)
void setSlabEnabled(boolean slabEnabled)
void setZShadeEnabled(boolean zShadeEnabled)
void setZoomEnabled(boolean zoomEnabled)
public 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)
public void depthToPercent(int percentDepth)
void zSlabToPercent(int percentSlab)
void zDepthToPercent(int percentDepth)
public void slabInternal(javajs.util.P4 plane, boolean isDepth)
public void setSlabDepthInternal(boolean isDepth)
isDepth
- javajs.util.P4 getSlabDepthPlane(boolean isDepth)
public javajs.util.P3[] getCameraFactors()
void setPerspectiveDepth(boolean perspectiveDepth)
public boolean getPerspectiveDepth()
public void setCameraDepthPercent(float percent, boolean resetSlab)
percent
- resetSlab
- public float getCameraDepth()
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)
public float scaleToScreen(int z, int milliAngstroms)
public float unscaleToScreen(float z, float screenDistance)
public float scaleToPerspective(int z, float sizeAngstroms)
void setNavigationMode(boolean TF)
public boolean isNavigating()
public void finalizeTransformParameters()
public float getZoomSetting()
public void calcSlabAndDepthValues()
public int zValueFromPercent(int zPercent)
public void calcTransformMatrix()
public void rotatePoint(javajs.util.T3 pt, javajs.util.T3 ptRot)
protected void getScreenTemp(javajs.util.T3 ptXYZ)
public void transformPoints(int count, javajs.util.T3[] angstroms, javajs.util.P3i[] screens)
public void transformPtScr(javajs.util.T3 ptXYZ, javajs.util.P3i pointScreen)
public void transformPtNoClip(javajs.util.P3 ptXYZ, javajs.util.P3 pointScreen)
public javajs.util.P3i transformPt(javajs.util.T3 ptXYZ)
ptXYZ
- public javajs.util.P3i transformPtVib(javajs.util.P3 ptXYZ, Vibration v)
ptXYZ
- v
- public javajs.util.T3 getVibrationPoint(Vibration v, javajs.util.T3 pt, float scale)
public void transformPt3f(javajs.util.T3 ptXYZ, javajs.util.P3 screen)
public javajs.util.P3i transformPt2D(javajs.util.T3 ptXyp)
private javajs.util.P3i applyPerspective(javajs.util.T3 ptXYZ, javajs.util.T3 ptRef)
ptXYZ
- ptRef
- public void transformVector(javajs.util.V3 vectorAngstroms, javajs.util.V3 vectorTransformed)
void move(JmolScriptEvaluator eval, javajs.util.V3 dRot, float dZoom, javajs.util.V3 dTrans, float dSlab, float floatSecondsTotal, int fps)
public boolean isInPosition(javajs.util.V3 axis, float degrees)
public boolean moveToPyMOL(JmolScriptEvaluator eval, float floatSecondsTotal, float[] pymolView)
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)
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)
public void stopMotion()
java.lang.String getRotationText()
public java.lang.String getMoveToText(float timespan, boolean addComments)
private java.lang.String getCenterText()
private java.lang.String getRotateXyzText()
private void addZoomTranslationNavigationText(javajs.util.SB sb)
private java.lang.String getRotateZyzText(boolean iAddComment)
private static void truncate0(javajs.util.SB sb, float val)
private static void truncate2(javajs.util.SB sb, float val)
void setSpinXYZ(float x, float y, float z)
void setSpinFps(int value)
public void setNavXYZ(float x, float y, float z)
private void clearSpin()
public void setSpinOn()
public void setSpinOff()
private void setSpin(JmolScriptEvaluator eval, boolean spinOn, float endDegrees, javajs.util.Lst<javajs.util.P3> endPositions, float[] dihedralList, BS bsAtoms, boolean isGesture)
public void setNavOn(boolean navOn)
void setVibrationScale(float scale)
public 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(STER stereoMode)
void setStereoDegrees(float stereoDegrees)
javajs.util.M3 getStereoRotationMatrix(boolean stereoFrame)
public boolean isWindowCentered()
void setWindowCentered(boolean TF)
public float setRotationRadius(float angstroms, boolean doAll)
private void setRotationCenterAndRadiusXYZ(javajs.util.T3 newCenterOfRotation, boolean andRadius)
void setNewRotationCenter(javajs.util.P3 center, boolean doScale)
public void moveRotationCenter(javajs.util.P3 center, boolean toXY)
void setCenter()
public void setCenterAt(int relativeTo, javajs.util.P3 pt)
void setFrameOffset(int modelIndex)
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
- public void unTransformPoint(javajs.util.T3 screenPt, javajs.util.T3 coordPt)
protected void resetNavigationPoint(boolean doResetSlab)
doResetSlab
- public void setNavigatePt(javajs.util.P3 pt)
pt
- void setNavigationSlabOffsetPercent(float percent)
public javajs.util.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, javajs.util.Lst<java.lang.Object[]> list)
public void navigateAxis(javajs.util.V3 rotAxis, float degrees)
rotAxis
- degrees
- 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()