|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jmol.viewer.TransformManager
abstract class TransformManager
Nested Class Summary | |
---|---|
private class |
TransformManager.SpinThread
|
(package private) class |
TransformManager.VibrationThread
|
Field Summary | |
---|---|
protected javax.vecmath.AxisAngle4f |
aaMoveTo
|
protected javax.vecmath.AxisAngle4f |
aaStep
|
protected javax.vecmath.Vector3f |
aaStepCenter
|
protected javax.vecmath.Vector3f |
aaStepNavCenter
|
protected javax.vecmath.AxisAngle4f |
aaTest1
|
protected javax.vecmath.AxisAngle4f |
aaTotal
|
protected boolean |
antialias
|
private javax.vecmath.AxisAngle4f |
axisangleT
|
protected float |
cameraDepth
|
protected float |
cameraDepthSetting
|
protected float |
cameraDistance
|
protected float |
cameraScaleFactor
|
(package private) static int |
DEFAULT_STEREO_DEGREES
|
(package private) static float |
degreesPerRadian
|
(package private) int |
depthPercentSetting
|
(package private) javax.vecmath.Point4f |
depthPlane
|
(package private) int |
depthValue
|
protected javax.vecmath.AxisAngle4f |
fixedRotationAxis
|
protected javax.vecmath.Point3f |
fixedRotationCenter
|
protected javax.vecmath.Point3f |
fixedRotationOffset
|
protected javax.vecmath.Point3f |
fixedTranslation
|
(package private) javax.vecmath.Point3f |
frameOffset
|
(package private) javax.vecmath.Point3f[] |
frameOffsets
|
protected boolean |
haveNotifiedNaN
|
(package private) int |
height
|
private float |
internalRotationAngle
|
protected javax.vecmath.AxisAngle4f |
internalRotationAxis
|
private javax.vecmath.Point3f |
internalRotationCenter
|
(package private) boolean |
internalSlab
|
protected boolean |
isNavigationMode
|
(package private) boolean |
isSpinFixed
|
(package private) boolean |
isSpinInternal
|
(package private) boolean |
isSpinSelected
|
protected javax.vecmath.Matrix3f |
matrixEnd
|
protected javax.vecmath.Matrix3f |
matrixRotate
|
protected javax.vecmath.Matrix3f |
matrixStart
|
private javax.vecmath.Matrix3f |
matrixStartInv
|
protected javax.vecmath.Matrix3f |
matrixStep
|
protected javax.vecmath.Matrix3f |
matrixStereo
|
protected javax.vecmath.Matrix4f |
matrixTemp
|
private javax.vecmath.Matrix3f |
matrixTemp3
|
private javax.vecmath.Matrix4f |
matrixTemp4
|
protected javax.vecmath.Matrix3f |
matrixTest
|
protected javax.vecmath.Matrix4f |
matrixTransform
|
(package private) static int |
MAXIMUM_ZOOM_PERCENTAGE
|
(package private) static int |
MAXIMUM_ZOOM_PERSPECTIVE_DEPTH
|
protected float |
modelCenterOffset
|
protected float |
modelRadius
|
protected float |
modelRadiusPixels
|
protected float |
navFps
|
protected boolean |
navigating
|
protected javax.vecmath.Point3f |
navigationCenter
|
protected javax.vecmath.Point3f |
navigationOffset
|
protected javax.vecmath.Point3f |
navigationShiftXY
|
protected boolean |
navOn
|
protected float |
navX
|
protected float |
navY
|
protected float |
navZ
|
protected boolean |
perspectiveDepth
|
protected int |
perspectiveModel
|
protected javax.vecmath.Point3f |
point3fScreenTemp
|
private javax.vecmath.Point3f |
point3fVibrationTemp
|
protected javax.vecmath.Point3i |
point3iScreenTemp
|
protected javax.vecmath.Point3f |
pointT
|
private javax.vecmath.Point3f |
pointT2
|
protected float |
previousX
|
protected float |
previousY
|
protected float |
prevZoomSetting
|
protected javax.vecmath.Point3f |
ptTest1
|
protected javax.vecmath.Point3f |
ptTest2
|
protected javax.vecmath.Point3f |
ptTest3
|
(package private) static float |
radiansPerDegree
|
protected float |
referencePlaneOffset
|
private boolean |
rotateMolecule
|
(package private) javax.vecmath.Vector3f |
rotationAxis
|
private javax.vecmath.Point3f |
rotationCenterDefault
|
private float |
rotationRadiusDefault
|
(package private) float |
rotationRate
|
protected boolean |
scale3D
|
(package private) float |
scale3DAngstromsPerInch
|
(package private) float |
scaleDefaultPixelsPerAngstrom
|
(package private) float |
scalePixelsPerAngstrom
|
(package private) int |
screenHeight
|
(package private) int |
screenPixelCount
|
(package private) int |
screenWidth
|
(package private) boolean |
slabEnabled
|
(package private) int |
slabPercentSetting
|
(package private) javax.vecmath.Point4f |
slabPlane
|
(package private) int |
slabValue
|
(package private) float |
spinFps
|
protected boolean |
spinOn
|
private TransformManager.SpinThread |
spinThread
|
(package private) float |
spinX
|
(package private) float |
spinY
|
(package private) float |
spinZ
|
(package private) int[] |
stereoColors
|
(package private) float |
stereoDegrees
|
(package private) boolean |
stereoFrame
|
(package private) int |
stereoMode
|
(package private) float |
stereoRadians
|
(package private) static float |
twoPI
|
private boolean |
useZoomLarge
|
private javax.vecmath.Vector3f |
vectorT
|
private javax.vecmath.Vector3f |
vectorT2
|
protected javax.vecmath.Vector3f |
vectorTemp
|
private float |
vibrationAmplitude
|
(package private) boolean |
vibrationOn
|
private float |
vibrationPeriod
|
int |
vibrationPeriodMs
|
private float |
vibrationRadians
|
private float |
vibrationScale
|
private TransformManager.VibrationThread |
vibrationThread
|
(package private) Viewer |
viewer
|
protected float |
visualRange
|
(package private) int |
width
|
(package private) boolean |
windowCentered
|
(package private) float |
xTranslationFraction
|
(package private) float |
yTranslationFraction
|
(package private) int |
zDepthValue
|
(package private) boolean |
zoomEnabled
|
(package private) float |
zoomPercent
|
(package private) float |
zoomPercentSetting
|
(package private) float |
zoomRatio
|
(package private) boolean |
zShadeEnabled
|
(package private) int |
zSlabValue
|
Constructor Summary | |
---|---|
TransformManager()
|
|
TransformManager(Viewer viewer)
|
|
TransformManager(Viewer viewer,
int width,
int height)
|
Method Summary | |
---|---|
private void |
addZoomTranslationNavigationText(java.lang.StringBuffer sb)
|
(package private) abstract void |
adjustTemporaryScreenPoint()
adjusts the temporary point for perspective and offsets |
(package private) int |
angstromsToPixels(float distance)
|
private void |
applyRotation(javax.vecmath.Matrix3f mNew,
boolean isInternal,
java.util.BitSet bsAtoms)
|
protected abstract void |
calcCameraFactors()
sets all camera and scale factors needed by the specific perspective model instantiated |
protected void |
calcNavigationPoint()
all navigation effects go through this method |
protected void |
calcSlabAndDepthValues()
sets slab and depth, possibly using visual range considerations for setting the slab-clipping plane. |
protected void |
calcTransformMatrix()
|
(package private) boolean |
canNavigate()
|
(package private) boolean |
checkInternalSlab(javax.vecmath.Point3f pt)
|
(package private) void |
clear()
|
private void |
clearSpin()
|
private void |
clearVibration()
|
private float |
defaultScaleToScreen(float radius)
|
(package private) void |
depthByPercentagePoints(int percentage)
|
(package private) void |
depthToPercent(int percentDepth)
|
(package private) void |
finalizeTransformParameters()
|
(package private) void |
getAxisAngle(javax.vecmath.AxisAngle4f axisAngle)
|
private java.lang.String |
getCenterText()
|
(package private) javax.vecmath.Matrix3f |
getMatrixRotate()
|
(package private) javax.vecmath.Matrix4f |
getMatrixtransform()
|
(package private) java.lang.String |
getMoveToText(float timespan,
boolean addComments)
|
(package private) javax.vecmath.Point3f |
getNavigationCenter()
|
(package private) float |
getNavigationDepthPercent()
|
(package private) TransformManager |
getNavigationManager(Viewer viewer,
int width,
int height)
|
(package private) javax.vecmath.Point3f |
getNavigationOffset()
|
(package private) float |
getNavigationOffsetPercent(char XorY)
|
protected java.lang.String |
getNavigationState()
|
(package private) java.lang.String |
getNavigationText(boolean addComments)
|
(package private) boolean |
getNavOn()
|
(package private) void |
getNewFixedRotationCenter()
|
(package private) java.util.Hashtable |
getOrientationInfo()
|
(package private) java.lang.String |
getOrientationText(int type)
|
(package private) boolean |
getPerspectiveDepth()
|
protected abstract float |
getPerspectiveFactor(float z)
calculate the perspective factor based on z |
private java.lang.String |
getRotateXyzText()
|
private java.lang.String |
getRotateZyzText(boolean iAddComment)
|
(package private) void |
getRotation(javax.vecmath.Matrix3f matrixRotation)
|
(package private) javax.vecmath.Point3f |
getRotationCenter()
|
(package private) Quaternion |
getRotationQuaternion()
|
(package private) float |
getRotationRadius()
|
(package private) java.lang.String |
getRotationText()
|
(package private) javax.vecmath.Point4f |
getSlabDepthPlane(boolean isDepth)
|
(package private) int |
getSlabPercentSetting()
|
(package private) boolean |
getSpinOn()
|
(package private) java.lang.String |
getSpinState(boolean isAll)
|
(package private) java.lang.String |
getState(java.lang.StringBuffer sfunc)
|
(package private) javax.vecmath.Matrix3f |
getStereoRotationMatrix(boolean stereoFrame)
|
(package private) java.lang.String |
getTransformText()
|
(package private) java.lang.String |
getTranslationScript()
|
(package private) float |
getTranslationXPercent()
|
(package private) float |
getTranslationYPercent()
|
(package private) float |
getTranslationZPercent()
|
(package private) javax.vecmath.Matrix4f |
getUnscaledTransformMatrix()
|
(package private) float |
getZoomPercentFloat()
|
(package private) float |
getZoomSetting()
|
(package private) void |
homePosition()
|
(package private) boolean |
isInPosition(javax.vecmath.Vector3f axis,
float degrees)
|
(package private) boolean |
isNavigating()
|
(package private) boolean |
isVibrationOn()
|
(package private) boolean |
isWindowCentered()
|
protected void |
matrixUnTransform(javax.vecmath.Point3f screen,
javax.vecmath.Point3f angstroms)
|
(package private) void |
move(javax.vecmath.Vector3f dRot,
float dZoom,
javax.vecmath.Vector3f dTrans,
float dSlab,
float floatSecondsTotal,
int fps)
|
private void |
moveRotationCenter(javax.vecmath.Point3f center,
boolean toXY)
|
(package private) void |
moveTo(float floatSecondsTotal,
javax.vecmath.Point3f center,
javax.vecmath.Matrix3f end,
float zoom,
float xTrans,
float yTrans,
float newRotationRadius,
javax.vecmath.Point3f navCenter,
float xNav,
float yNav,
float navDepth)
|
(package private) void |
moveTo(float floatSecondsTotal,
javax.vecmath.Point3f center,
javax.vecmath.Tuple3f rotAxis,
float degrees,
float zoom,
float xTrans,
float yTrans,
float newRotationRadius,
javax.vecmath.Point3f navCenter,
float xNav,
float yNav,
float navDepth)
|
(package private) void |
navigate(float seconds,
javax.vecmath.Point3f center)
scripted entry point for navigation |
(package private) void |
navigate(float timeSeconds,
javax.vecmath.Point3f[][] pathGuide)
follows a path guided by orientation and offset vectors (as Point3fs) |
(package private) void |
navigate(float seconds,
javax.vecmath.Point3f[] path,
float[] theta,
int indexStart,
int indexEnd)
scripted navigation |
(package private) void |
navigate(float seconds,
javax.vecmath.Vector3f rotAxis,
float degrees)
scripted entry point for navigation |
(package private) void |
navigate(int keyCode,
int modifiers)
entry point for keyboard-based navigation |
(package private) void |
navigateSurface(float timeSeconds,
java.lang.String name)
|
(package private) void |
navTranslate(float seconds,
javax.vecmath.Point3f pt)
scripted entry point for navigation |
(package private) void |
navTranslatePercent(float seconds,
float x,
float y)
scripted entry point for navigation |
(package private) int |
percentToPixels(char xyz,
float percent)
|
protected void |
resetNavigationPoint(boolean doResetSlab)
something has arisen that requires resetting of the navigation point. |
(package private) void |
rotateAboutPointsInternal(javax.vecmath.Point3f point1,
javax.vecmath.Point3f point2,
float degrees,
float endDegrees,
boolean isClockwise,
boolean isSpin,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateAxisAngle(javax.vecmath.AxisAngle4f axisAngle,
java.util.BitSet bsAtoms)
|
protected void |
rotateAxisAngle(javax.vecmath.Vector3f rotAxis,
float radians)
|
(package private) void |
rotateAxisAngleAtCenter(javax.vecmath.Point3f rotCenter,
javax.vecmath.Vector3f rotAxis,
float degrees,
float endDegrees,
boolean isSpin,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateAxisAngleRadiansFixed(float angleRadians,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateAxisAngleRadiansInternal(float radians,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateFront()
|
(package private) void |
rotatePoint(javax.vecmath.Point3f pt,
javax.vecmath.Point3f ptRot)
|
(package private) void |
rotateX(float angleRadians)
|
(package private) void |
rotateXRadians(float angleRadians,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateXYBy(int xDelta,
int yDelta,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateY(float angleRadians)
|
(package private) void |
rotateYRadians(float angleRadians,
java.util.BitSet bsAtoms)
|
(package private) void |
rotateZ(float angleRadians)
|
(package private) void |
rotateZBy(int zDelta)
|
(package private) void |
rotateZRadians(float angleRadians)
|
(package private) void |
scaleFitToScreen(boolean andCenter)
|
(package private) void |
scaleFitToScreen(boolean andCenter,
boolean zoomLarge,
boolean resetSlab,
boolean resetZoom)
|
(package private) float |
scaleToPerspective(int z,
float sizeAngstroms)
|
(package private) short |
scaleToScreen(int z,
int milliAngstroms)
|
(package private) void |
setAntialias(boolean TF)
|
(package private) void |
setCameraDepthPercent(float percent)
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,
javax.vecmath.Point3f pt)
|
private void |
setFixedRotationCenter(javax.vecmath.Point3f center)
|
(package private) void |
setFrameOffset(int modelIndex)
|
(package private) void |
setFrameOffsets(javax.vecmath.Point3f[] offsets)
|
protected void |
setNavFps(int value)
|
(package private) void |
setNavigationDepthPercent(float timeSec,
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)
|
protected void |
setNavigationOffsetRelative(boolean navigatingSurface)
|
(package private) void |
setNavigationSlabOffsetPercent(float offset)
|
protected void |
setNavOn(boolean navOn)
|
(package private) void |
setNavXYZ(float x,
float y,
float z)
|
(package private) void |
setNewRotationCenter(javax.vecmath.Point3f center,
boolean doScale)
|
(package private) void |
setPerspectiveDepth(boolean perspectiveDepth)
|
(package private) float |
setRotateFixed(javax.vecmath.Point3f center,
javax.vecmath.Vector3f axis,
float degrees)
|
(package private) float |
setRotateInternal(javax.vecmath.Point3f center,
javax.vecmath.Vector3f axis,
float degrees)
|
(package private) void |
setRotateMolecule(boolean TF)
|
(package private) void |
setRotation(javax.vecmath.Matrix3f matrixRotation)
|
private void |
setRotationCenterAndRadiusXYZ(javax.vecmath.Point3f newCenterOfRotation,
boolean andRadius)
|
private void |
setRotationCenterAndRadiusXYZ(java.lang.String relativeTo,
javax.vecmath.Point3f pt)
|
(package private) void |
setRotationPointXY(javax.vecmath.Point3f center)
|
(package private) 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)
|
(package private) void |
setSlabDepthInternal(boolean isDepth)
set internal slab or depth from screen-based slab or depth |
(package private) void |
setSlabEnabled(boolean slabEnabled)
|
(package private) void |
setSpinFps(int value)
|
(package private) void |
setSpinOn(boolean spinOn)
|
private void |
setSpinOn(boolean spinOn,
float endDegrees,
java.util.BitSet bsAtoms)
|
(package private) void |
setSpinXYZ(float x,
float y,
float z)
|
(package private) void |
setStereoDegrees(float stereoDegrees)
|
(package private) void |
setStereoMode(int stereoMode)
|
(package private) void |
setStereoMode(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)
|
protected void |
setVibrationT(float t)
|
(package 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)
|
(package private) void |
setZShadeEnabled(boolean zShadeEnabled)
|
(package private) void |
slabByPercentagePoints(int percentage)
|
(package private) void |
slabDepthByPercentagePoints(int percentage)
|
(package private) void |
slabInternal(javax.vecmath.Point4f plane,
boolean isDepth)
|
(package private) void |
slabReset()
|
(package private) void |
slabToPercent(int percentSlab)
|
(package private) javax.vecmath.Point3i |
transformPoint(javax.vecmath.Point3f pointAngstroms)
CAUTION! returns a POINTER TO A TEMPORARY VARIABLE |
(package private) void |
transformPoint(javax.vecmath.Point3f pointAngstroms,
javax.vecmath.Point3f screen)
|
(package private) void |
transformPoint(javax.vecmath.Point3f pointAngstroms,
javax.vecmath.Point3i pointScreen)
|
(package private) javax.vecmath.Point3i |
transformPoint(javax.vecmath.Point3f pointAngstroms,
javax.vecmath.Vector3f vibrationVector)
|
(package private) javax.vecmath.Point3f |
transformPointNoClip(javax.vecmath.Point3f pointAngstroms)
CAUTION! returns a POINTER TO A TEMPORARY VARIABLE |
(package private) void |
transformPointNoClip(javax.vecmath.Point3f pointAngstroms,
javax.vecmath.Point3f pointScreen)
|
(package private) void |
transformPoints(int count,
javax.vecmath.Point3f[] angstroms,
javax.vecmath.Point3i[] screens)
|
private javax.vecmath.Point3i |
transformScreenPoint(javax.vecmath.Point3f ptXyp)
|
(package private) void |
transformVector(javax.vecmath.Vector3f vectorAngstroms,
javax.vecmath.Vector3f vectorTransformed)
|
(package private) void |
translateToXPercent(float percent)
|
(package private) void |
translateToYPercent(float percent)
|
(package private) void |
translateToZPercent(float percent)
|
(package private) void |
translateXYBy(int xDelta,
int yDelta)
|
(package private) void |
translateZBy(int pixels)
|
private static void |
truncate0(java.lang.StringBuffer sb,
float val)
|
private static void |
truncate2(java.lang.StringBuffer sb,
float val)
|
(package private) float |
unscaleToScreen(int z,
int screenDistance)
|
(package private) void |
unTransformPoint(javax.vecmath.Point3f screenPt,
javax.vecmath.Point3f coordPt)
|
protected void |
zoomBy(int pixels)
standard response to user mouse vertical shift-drag |
(package private) void |
zoomByFactor(float factor)
|
(package private) void |
zoomByPercent(float percentZoom)
|
(package private) void |
zoomToPercent(float percentZoom)
|
(package private) int |
zValueFromPercent(int zPercent)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
Viewer viewer
static final float twoPI
static final float radiansPerDegree
static final float degreesPerRadian
protected int perspectiveModel
protected float cameraScaleFactor
protected float referencePlaneOffset
protected float modelCenterOffset
protected float modelRadius
protected float modelRadiusPixels
protected final javax.vecmath.Point3f navigationCenter
protected final javax.vecmath.Point3f navigationOffset
protected final javax.vecmath.Point3f navigationShiftXY
protected final javax.vecmath.Matrix4f matrixTemp
protected final javax.vecmath.Vector3f vectorTemp
protected boolean haveNotifiedNaN
float spinX
float spinY
float spinZ
float spinFps
protected float navX
protected float navY
protected float navZ
protected float navFps
boolean isSpinInternal
boolean isSpinFixed
boolean isSpinSelected
protected final javax.vecmath.Point3f fixedRotationOffset
protected final javax.vecmath.Point3f fixedRotationCenter
private final javax.vecmath.Point3f rotationCenterDefault
private float rotationRadiusDefault
protected final javax.vecmath.AxisAngle4f fixedRotationAxis
protected final javax.vecmath.AxisAngle4f internalRotationAxis
private final javax.vecmath.Point3f internalRotationCenter
private float internalRotationAngle
protected final javax.vecmath.Matrix3f matrixRotate
private final javax.vecmath.Matrix3f matrixTemp3
private final javax.vecmath.Matrix4f matrixTemp4
private final javax.vecmath.AxisAngle4f axisangleT
private final javax.vecmath.Vector3f vectorT
private final javax.vecmath.Vector3f vectorT2
protected final javax.vecmath.Point3f pointT
private final javax.vecmath.Point3f pointT2
static final int MAXIMUM_ZOOM_PERCENTAGE
static final int MAXIMUM_ZOOM_PERSPECTIVE_DEPTH
private boolean rotateMolecule
javax.vecmath.Vector3f rotationAxis
float rotationRate
protected final javax.vecmath.Point3f fixedTranslation
float xTranslationFraction
float yTranslationFraction
protected float prevZoomSetting
protected float previousX
protected float previousY
boolean zoomEnabled
float zoomPercent
float zoomPercentSetting
float zoomRatio
boolean slabEnabled
boolean internalSlab
boolean zShadeEnabled
int slabPercentSetting
int depthPercentSetting
int slabValue
int depthValue
int zSlabValue
int zDepthValue
javax.vecmath.Point4f slabPlane
javax.vecmath.Point4f depthPlane
protected boolean perspectiveDepth
protected boolean scale3D
protected float cameraDepth
protected float cameraDepthSetting
protected float visualRange
protected float cameraDistance
int width
int height
int screenPixelCount
float scalePixelsPerAngstrom
float scaleDefaultPixelsPerAngstrom
float scale3DAngstromsPerInch
protected boolean antialias
private boolean useZoomLarge
int screenWidth
int screenHeight
protected final javax.vecmath.Matrix4f matrixTransform
protected final javax.vecmath.Point3f point3fScreenTemp
protected final javax.vecmath.Point3i point3iScreenTemp
private final javax.vecmath.Point3f point3fVibrationTemp
protected boolean navigating
protected boolean isNavigationMode
protected final javax.vecmath.Point3f ptTest1
protected final javax.vecmath.Point3f ptTest2
protected final javax.vecmath.Point3f ptTest3
protected final javax.vecmath.AxisAngle4f aaTest1
protected final javax.vecmath.AxisAngle4f aaMoveTo
protected final javax.vecmath.AxisAngle4f aaStep
protected final javax.vecmath.AxisAngle4f aaTotal
protected final javax.vecmath.Matrix3f matrixStart
private final javax.vecmath.Matrix3f matrixStartInv
protected final javax.vecmath.Matrix3f matrixStep
protected final javax.vecmath.Matrix3f matrixTest
protected final javax.vecmath.Matrix3f matrixEnd
protected final javax.vecmath.Vector3f aaStepCenter
protected final javax.vecmath.Vector3f aaStepNavCenter
protected boolean spinOn
protected boolean navOn
private TransformManager.SpinThread spinThread
boolean vibrationOn
private float vibrationPeriod
public int vibrationPeriodMs
private float vibrationAmplitude
private float vibrationRadians
private float vibrationScale
private TransformManager.VibrationThread vibrationThread
static final int DEFAULT_STEREO_DEGREES
int stereoMode
int[] stereoColors
float stereoDegrees
float stereoRadians
boolean stereoFrame
protected final javax.vecmath.Matrix3f matrixStereo
boolean windowCentered
javax.vecmath.Point3f[] frameOffsets
final javax.vecmath.Point3f frameOffset
Constructor Detail |
---|
TransformManager()
TransformManager(Viewer viewer)
TransformManager(Viewer viewer, int width, int height)
Method Detail |
---|
protected abstract void calcCameraFactors()
protected abstract float getPerspectiveFactor(float z)
z
-
abstract void adjustTemporaryScreenPoint()
void setViewer(Viewer viewer, int width, int height)
TransformManager getNavigationManager(Viewer viewer, int width, int height)
void homePosition()
void clear()
java.lang.String getState(java.lang.StringBuffer sfunc)
java.lang.String getSpinState(boolean isAll)
void setRotateMolecule(boolean TF)
private void setFixedRotationCenter(javax.vecmath.Point3f center)
void setRotationPointXY(javax.vecmath.Point3f center)
float setRotateInternal(javax.vecmath.Point3f center, javax.vecmath.Vector3f axis, float degrees)
float setRotateFixed(javax.vecmath.Point3f center, javax.vecmath.Vector3f axis, float degrees)
void rotateXYBy(int xDelta, int yDelta, java.util.BitSet bsAtoms)
void rotateZBy(int zDelta)
void rotateFront()
void rotateX(float angleRadians)
void rotateY(float angleRadians)
void rotateZ(float angleRadians)
private void applyRotation(javax.vecmath.Matrix3f mNew, boolean isInternal, java.util.BitSet bsAtoms)
void rotateXRadians(float angleRadians, java.util.BitSet bsAtoms)
void rotateYRadians(float angleRadians, java.util.BitSet bsAtoms)
void rotateZRadians(float angleRadians)
protected void rotateAxisAngle(javax.vecmath.Vector3f rotAxis, float radians)
void rotateAxisAngle(javax.vecmath.AxisAngle4f axisAngle, java.util.BitSet bsAtoms)
void rotateAxisAngleAtCenter(javax.vecmath.Point3f rotCenter, javax.vecmath.Vector3f rotAxis, float degrees, float endDegrees, boolean isSpin, java.util.BitSet bsAtoms)
void rotateAxisAngleRadiansFixed(float angleRadians, java.util.BitSet bsAtoms)
void rotateAboutPointsInternal(javax.vecmath.Point3f point1, javax.vecmath.Point3f point2, float degrees, float endDegrees, boolean isClockwise, boolean isSpin, java.util.BitSet bsAtoms)
void rotateAxisAngleRadiansInternal(float radians, java.util.BitSet bsAtoms)
void getNewFixedRotationCenter()
void setTranslationFractions()
void translateXYBy(int xDelta, int yDelta)
int percentToPixels(char xyz, float percent)
int angstromsToPixels(float distance)
void translateToXPercent(float percent)
void translateToYPercent(float percent)
void translateToZPercent(float percent)
float getTranslationXPercent()
float getTranslationYPercent()
float getTranslationZPercent()
java.lang.String getTranslationScript()
java.lang.String getOrientationText(int type)
java.util.Hashtable getOrientationInfo()
void getAxisAngle(javax.vecmath.AxisAngle4f axisAngle)
java.lang.String getTransformText()
javax.vecmath.Matrix3f getMatrixRotate()
void setRotation(javax.vecmath.Matrix3f matrixRotation)
void getRotation(javax.vecmath.Matrix3f matrixRotation)
protected void zoomBy(int pixels)
pixels
- float getZoomPercentFloat()
void zoomToPercent(float percentZoom)
void translateZBy(int pixels)
void zoomByFactor(float factor)
void zoomByPercent(float percentZoom)
void setZoomEnabled(boolean zoomEnabled)
void setScaleAngstromsPerInch(float angstromsPerInch)
void setSlabEnabled(boolean slabEnabled)
void setZShadeEnabled(boolean zShadeEnabled)
void slabReset()
int getSlabPercentSetting()
void slabByPercentagePoints(int percentage)
void depthByPercentagePoints(int percentage)
void slabDepthByPercentagePoints(int percentage)
void slabToPercent(int percentSlab)
void depthToPercent(int percentDepth)
void slabInternal(javax.vecmath.Point4f plane, boolean isDepth)
void setSlabDepthInternal(boolean isDepth)
isDepth
- javax.vecmath.Point4f getSlabDepthPlane(boolean isDepth)
boolean checkInternalSlab(javax.vecmath.Point3f pt)
void setPerspectiveDepth(boolean perspectiveDepth)
boolean getPerspectiveDepth()
void setCameraDepthPercent(float percent)
percent
- void setVisualRange(float angstroms)
javax.vecmath.Matrix4f getUnscaledTransformMatrix()
void setScreenParameters(int screenWidth, int screenHeight, boolean useZoomLarge, boolean antialias, boolean resetSlab, boolean resetZoom)
void setAntialias(boolean TF)
private float defaultScaleToScreen(float radius)
void scaleFitToScreen(boolean andCenter)
void scaleFitToScreen(boolean andCenter, boolean zoomLarge, boolean resetSlab, boolean resetZoom)
short scaleToScreen(int z, int milliAngstroms)
float unscaleToScreen(int z, int screenDistance)
float scaleToPerspective(int z, float sizeAngstroms)
javax.vecmath.Matrix4f getMatrixtransform()
void setNavigationMode(boolean TF)
boolean isNavigating()
void finalizeTransformParameters()
float getZoomSetting()
protected void calcSlabAndDepthValues()
int zValueFromPercent(int zPercent)
protected void calcTransformMatrix()
void rotatePoint(javax.vecmath.Point3f pt, javax.vecmath.Point3f ptRot)
void transformPoints(int count, javax.vecmath.Point3f[] angstroms, javax.vecmath.Point3i[] screens)
void transformPoint(javax.vecmath.Point3f pointAngstroms, javax.vecmath.Point3i pointScreen)
void transformPointNoClip(javax.vecmath.Point3f pointAngstroms, javax.vecmath.Point3f pointScreen)
javax.vecmath.Point3i transformPoint(javax.vecmath.Point3f pointAngstroms)
pointAngstroms
-
private javax.vecmath.Point3i transformScreenPoint(javax.vecmath.Point3f ptXyp)
javax.vecmath.Point3f transformPointNoClip(javax.vecmath.Point3f pointAngstroms)
pointAngstroms
-
javax.vecmath.Point3i transformPoint(javax.vecmath.Point3f pointAngstroms, javax.vecmath.Vector3f vibrationVector)
pointAngstroms
- vibrationVector
-
void transformPoint(javax.vecmath.Point3f pointAngstroms, javax.vecmath.Point3f screen)
void transformVector(javax.vecmath.Vector3f vectorAngstroms, javax.vecmath.Vector3f vectorTransformed)
void unTransformPoint(javax.vecmath.Point3f screenPt, javax.vecmath.Point3f coordPt)
protected void matrixUnTransform(javax.vecmath.Point3f screen, javax.vecmath.Point3f angstroms)
void move(javax.vecmath.Vector3f dRot, float dZoom, javax.vecmath.Vector3f dTrans, float dSlab, float floatSecondsTotal, int fps)
boolean isInPosition(javax.vecmath.Vector3f axis, float degrees)
void moveTo(float floatSecondsTotal, javax.vecmath.Point3f center, javax.vecmath.Tuple3f rotAxis, float degrees, float zoom, float xTrans, float yTrans, float newRotationRadius, javax.vecmath.Point3f navCenter, float xNav, float yNav, float navDepth)
void moveTo(float floatSecondsTotal, javax.vecmath.Point3f center, javax.vecmath.Matrix3f end, float zoom, float xTrans, float yTrans, float newRotationRadius, javax.vecmath.Point3f navCenter, float xNav, float yNav, float navDepth)
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(java.lang.StringBuffer sb)
private java.lang.String getRotateZyzText(boolean iAddComment)
private static void truncate0(java.lang.StringBuffer sb, float val)
private static void truncate2(java.lang.StringBuffer sb, float val)
void setSpinXYZ(float x, float y, float z)
void setSpinFps(int value)
void setNavXYZ(float x, float y, float z)
protected void setNavFps(int value)
private void clearSpin()
boolean getSpinOn()
boolean getNavOn()
void setSpinOn(boolean spinOn)
private void setSpinOn(boolean spinOn, float endDegrees, java.util.BitSet bsAtoms)
protected void setNavOn(boolean navOn)
void setVibrationScale(float scale)
protected void setNavigationOffsetRelative(boolean navigatingSurface)
void setVibrationPeriod(float period)
period
- protected void setVibrationT(float t)
boolean isVibrationOn()
private void setVibrationOn(boolean vibrationOn)
private void clearVibration()
void setStereoMode(int[] twoColors)
void setStereoMode(int stereoMode)
void setStereoDegrees(float stereoDegrees)
javax.vecmath.Matrix3f getStereoRotationMatrix(boolean stereoFrame)
boolean isWindowCentered()
void setWindowCentered(boolean TF)
javax.vecmath.Point3f getRotationCenter()
float getRotationRadius()
float setRotationRadius(float angstroms, boolean doAll)
private void setRotationCenterAndRadiusXYZ(javax.vecmath.Point3f newCenterOfRotation, boolean andRadius)
private void setRotationCenterAndRadiusXYZ(java.lang.String relativeTo, javax.vecmath.Point3f pt)
void setNewRotationCenter(javax.vecmath.Point3f center, boolean doScale)
private void moveRotationCenter(javax.vecmath.Point3f center, boolean toXY)
void setCenter()
void setCenterAt(java.lang.String relativeTo, javax.vecmath.Point3f pt)
boolean canNavigate()
void navigate(int keyCode, int modifiers)
keyCode
- 0 indicates key releasedmodifiers
- shift,alt,ctrlvoid navigate(float seconds, javax.vecmath.Point3f center)
seconds
- center
- void navigate(float seconds, javax.vecmath.Vector3f rotAxis, float degrees)
seconds
- rotAxis
- degrees
- void navigate(float seconds, javax.vecmath.Point3f[] path, float[] theta, int indexStart, int indexEnd)
seconds
- number of seconds to allow for total movement, like moveTopath
- sequence of points to turn into a hermetian paththeta
- orientation angle along path (0 aligns with window Y axis)
[or Z axis if path is vertical]indexStart
- index of first "station"indexEnd
- index of last "station"
not implemented yetvoid navigate(float timeSeconds, javax.vecmath.Point3f[][] pathGuide)
timeSeconds
- pathGuide
- void navTranslate(float seconds, javax.vecmath.Point3f pt)
seconds
- pt
- void navTranslatePercent(float seconds, float x, float y)
seconds
- x
- y
- protected void calcNavigationPoint()
protected void resetNavigationPoint(boolean doResetSlab)
doResetSlab
- protected java.lang.String getNavigationState()
void setNavigationDepthPercent(float timeSec, float percent)
timeSec
- percent
- javax.vecmath.Point3f getNavigationCenter()
javax.vecmath.Point3f getNavigationOffset()
float getNavigationDepthPercent()
float getNavigationOffsetPercent(char XorY)
void setNavigationSlabOffsetPercent(float offset)
java.lang.String getNavigationText(boolean addComments)
void setFrameOffset(int modelIndex)
void setFrameOffsets(javax.vecmath.Point3f[] offsets)
void navigateSurface(float timeSeconds, java.lang.String name)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |