Package org.jmol.api
Class JmolViewer
- java.lang.Object
-
- org.jmol.api.JmolViewer
-
- Direct Known Subclasses:
Viewer
public abstract class JmolViewer extends java.lang.Object
JmolViewer is the main API for the Viewer class. (Mosty) we try to not change this (much), whereas the varius "public" methods of Viewer, ModelSet, and other classes are public only for internal cross-package access, not for external use.
-
-
Field Summary
Fields Modifier and Type Field Description javajs.api.GenericPlatform
apiPlatform
java.lang.String
menuStructure
-
Constructor Summary
Constructors Constructor Description JmolViewer()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract void
addSelectionListener(JmolSelectionListener listener)
static JmolViewer
allocateViewer(java.lang.Object container, JmolAdapter jmolAdapter)
a simpler optionstatic JmolViewer
allocateViewer(java.lang.Object display, JmolAdapter modelAdapter, java.lang.String fullName, java.net.URL documentBase, java.net.URL codeBase, java.lang.String commandOptions, JmolStatusListener statusListener)
legacy onlyprotected static JmolViewer
allocateViewer(java.lang.Object display, JmolAdapter modelAdapter, java.lang.String fullName, java.net.URL documentBase, java.net.URL codeBase, java.lang.String commandOptions, JmolStatusListener statusListener, javajs.api.GenericPlatform implementedPlatform)
This is the older main access point for creating an application or applet vwr.abstract void
calcAtomsMinMax(BS bs, BoxInfo boxInfo)
abstract boolean
checkHalt(java.lang.String strCommand, boolean isInterrupt)
abstract void
clearMeasurements()
abstract void
clearSelection()
abstract java.lang.String
clipImageOrPasteText(java.lang.String text)
abstract void
deleteMeasurement(int i)
void
dispose()
abstract java.lang.String
evalFile(java.lang.String strFilename)
abstract java.lang.String
evalString(java.lang.String strScript)
abstract java.lang.String
evalStringQuiet(java.lang.String script)
abstract java.lang.Object
evaluateExpression(java.lang.Object expression)
abstract java.lang.String
extractMolData(java.lang.String what)
abstract int
findNearestAtomIndex(int x, int y)
abstract java.lang.String
generateOutputForExport(java.util.Map<java.lang.String,java.lang.Object> params)
for POV-Rayabstract int
getBackgroundArgb()
abstract boolean
getBoolean(int tok)
abstract boolean
getBooleanProperty(java.lang.String propertyName)
abstract javajs.util.P3
getBoundBoxCenter()
abstract javajs.util.V3
getBoundBoxCornerVector()
abstract java.lang.String
getClipboardText()
abstract java.lang.String
getData(java.lang.String atomExpression, java.lang.String type)
abstract BS
getElementsPresentBitSet(int modelIndex)
abstract java.lang.String
getErrorMessage()
abstract java.lang.String
getErrorMessageUn()
abstract float
getFloat(int tok)
abstract byte[]
getImageAsBytes(java.lang.String type, int width, int height, int quality, java.lang.String[] errMsg)
abstract int
getInt(int tok)
static java.lang.String
getJmolVersion()
abstract short
getMadBond()
abstract int
getMeasurementCount()
abstract int[]
getMeasurementCountPlusIndices(int i)
abstract java.lang.String
getMeasurementStringValue(int i)
abstract JmolAdapter
getModelAdapter()
abstract int
getModelIndexFromId(java.lang.String id)
abstract java.lang.String
getModelName(int modelIndex)
abstract int
getModelNumber(int modelIndex)
abstract java.lang.String
getModelNumberDotted(int modelIndex)
abstract java.util.Properties
getModelProperties(int modelIndex)
abstract java.util.Map<java.lang.String,java.lang.Object>
getModelSetAuxiliaryInfo()
abstract java.lang.String
getModelSetFileName()
abstract java.lang.String
getModelSetPathName()
abstract java.util.Properties
getModelSetProperties()
abstract int
getMotionEventNumber()
abstract java.lang.String
getOpenSmiles(BS atoms)
abstract java.lang.Object
getParameter(java.lang.String name)
abstract java.lang.Object
getProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)
abstract int
getScreenHeight()
abstract java.lang.Object
getScreenImageBuffer(java.lang.Object g, boolean isImageWrite)
abstract int
getScreenWidth()
abstract java.lang.String
getSetHistory(int howFarBack)
abstract BS
getSmartsMatch(java.lang.String smarts, BS bsSelected)
abstract java.lang.String
getSmiles(BS atoms)
abstract java.lang.String
getStateInfo()
abstract BS
getVisibleFramesBitSet()
abstract void
haltScriptExecution()
abstract void
homePosition()
abstract boolean
isScriptExecuting()
abstract java.lang.String
loadInline(java.lang.String strModel)
abstract java.lang.String
loadInline(java.lang.String[] arrayModels)
abstract java.lang.String
loadInline(java.lang.String[] arrayModels, boolean isAppend)
abstract java.lang.String
loadInline(java.lang.String strModel, char newLine)
abstract java.lang.String
loadInline(java.util.List<java.lang.Object> arrayData, boolean isAppend)
NOTE: THIS METHOD DOES NOT PRESERVE THE STATEabstract java.lang.String
loadInlineAppend(java.lang.String strModel, boolean isAppend)
abstract void
notifyStatusReady(boolean isReady)
abstract void
notifyViewerRepaintDone()
abstract java.lang.String
openDOM(java.lang.Object DOMNode)
abstract java.lang.String
openFile(java.lang.String fileName)
void
openFileAsync(java.lang.String fileName)
abstract void
openFileAsyncSpecial(java.lang.String fileName, int flags)
abstract java.lang.String
openFiles(java.lang.String[] fileNames)
java.lang.String
openReader(java.lang.String fullPathName, java.lang.Object reader)
Opens the file and creates the model set, given the reader.abstract java.lang.String
openReader(java.lang.String fullPathName, java.lang.String fileName, java.lang.Object reader)
Opens the file and creates the model set, given the reader.abstract java.lang.String
openStringInline(java.lang.String strModel)
abstract java.lang.String
outputToFile(java.util.Map<java.lang.String,java.lang.Object> params)
abstract void
popHoldRepaint(java.lang.String why)
abstract void
pushHoldRepaint()
abstract void
rebond()
abstract void
refresh(int isOrientationChange, java.lang.String strWhy)
abstract void
releaseScreenImage()
abstract void
removeSelectionListener(JmolSelectionListener listener)
abstract void
renderScreenImage(java.lang.Object g, int width, int height)
void
renderScreenImage(java.lang.Object g, java.lang.Object currentSize, java.lang.Object rectClip)
Deprecated.abstract int[]
resizeInnerPanel(int width, int height)
abstract void
rotateFront()
abstract java.lang.String
runScript(java.lang.String script)
run a script immediately and return output buffer string Jmol 13.1.15abstract java.lang.String
script(java.lang.String script)
abstract java.lang.Object
scriptCheck(java.lang.String script)
abstract java.lang.String
scriptWait(java.lang.String script)
abstract java.lang.Object
scriptWaitStatus(java.lang.String script, java.lang.String statusList)
abstract void
selectAll()
abstract void
setAnimationFps(int framesPerSecond)
abstract void
setAutoBond(boolean autoBond)
abstract void
setAxesOrientationRasmol(boolean axesMessedUp)
abstract void
setBondTolerance(float bondTolerance)
abstract void
setBooleanProperty(java.lang.String propertyName, boolean value)
abstract void
setCenterSelected()
abstract void
setColorBackground(java.lang.String colorName)
void
setConsole(JmolAppConsoleInterface console)
sets a custom console -- should be called IMMEDIATELY following allocateViewer create your console with, perhaps: new org.openscience.jmol.app.jmolPanel.AppConsole(vwr, displayFrame, externalJPanel, buttonsEnabled); (see examples/basic/org/jmol/Integration.javaabstract void
setDebugScript(boolean debugScript)
abstract void
setFloatProperty(java.lang.String propertyName, float value)
abstract void
setFrankOn(boolean frankOn)
abstract void
setInMotion(boolean isInMotion)
abstract void
setIntProperty(java.lang.String propertyName, int value)
abstract void
setJmolCallbackListener(JmolCallbackListener jmolCallbackListener)
abstract void
setJmolDefaults()
abstract void
setJmolStatusListener(JmolStatusListener jmolStatusListener)
abstract void
setMarBond(short marBond)
abstract void
setMenu(java.lang.String menuFile, boolean isFile)
abstract void
setMinBondDistance(float minBondDistance)
abstract void
setPercentVdwAtom(int percentVdwAtom)
abstract void
setPerspectiveDepth(boolean perspectiveDepth)
abstract void
setRasmolDefaults()
abstract void
setScreenDimension(int width, int height)
abstract void
setSelectionSet(BS newSelection)
abstract void
setShowHydrogens(boolean showHydrogens)
abstract void
setShowMeasurements(boolean showMeasurements)
abstract void
setStringProperty(java.lang.String propertyName, java.lang.String value)
abstract void
setVectorScale(float vectorScaleValue)
abstract void
setVibrationPeriod(float vibrationPeriod)
abstract void
setVibrationScale(float vibrationScaleValue)
abstract void
showUrl(java.lang.String urlString)
abstract void
syncScript(java.lang.String script, java.lang.String applet, int port)
abstract void
writeTextFile(java.lang.String string, java.lang.String data)
-
-
-
Method Detail
-
getFloat
public abstract float getFloat(int tok)
-
getInt
public abstract int getInt(int tok)
-
getBoolean
public abstract boolean getBoolean(int tok)
-
allocateViewer
protected static JmolViewer allocateViewer(java.lang.Object display, JmolAdapter modelAdapter, java.lang.String fullName, java.net.URL documentBase, java.net.URL codeBase, java.lang.String commandOptions, JmolStatusListener statusListener, javajs.api.GenericPlatform implementedPlatform)
This is the older main access point for creating an application or applet vwr. You can also use That is necessary when compiled into JavaScript using Java2Script In Jmol 11.6 it was manditory that one of the next commands is either vwr.evalString("ZAP"); or at least: vwr.setAppletContext("",null,null,"") One or the other of these was necessary to establish the first modelset, which might be required by one or more later evaluated commands or file loadings. Starting with Jmol 11.7, setAppletContext is rolled into allocateViewer so that the full initialization is done all at once. Starting with Jmol 12.3.13, we allow for preconstructed ApiPlatform- Parameters:
display
-modelAdapter
-fullName
-documentBase
-codeBase
-commandOptions
-statusListener
-implementedPlatform
-- Returns:
- a JmolViewer object
-
allocateViewer
public static JmolViewer allocateViewer(java.lang.Object container, JmolAdapter jmolAdapter)
a simpler option- Parameters:
container
-jmolAdapter
-- Returns:
- JmolViewer object
-
allocateViewer
public static JmolViewer allocateViewer(java.lang.Object display, JmolAdapter modelAdapter, java.lang.String fullName, java.net.URL documentBase, java.net.URL codeBase, java.lang.String commandOptions, JmolStatusListener statusListener)
legacy only- Parameters:
display
-modelAdapter
-fullName
-documentBase
-codeBase
-commandOptions
-statusListener
-- Returns:
- JmolViewer object
-
setConsole
public void setConsole(JmolAppConsoleInterface console)
sets a custom console -- should be called IMMEDIATELY following allocateViewer create your console with, perhaps: new org.openscience.jmol.app.jmolPanel.AppConsole(vwr, displayFrame, externalJPanel, buttonsEnabled); (see examples/basic/org/jmol/Integration.java- Parameters:
console
- the console to use
-
setInMotion
public abstract void setInMotion(boolean isInMotion)
-
getSmartsMatch
public abstract BS getSmartsMatch(java.lang.String smarts, BS bsSelected) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getJmolVersion
public static java.lang.String getJmolVersion()
-
generateOutputForExport
public abstract java.lang.String generateOutputForExport(java.util.Map<java.lang.String,java.lang.Object> params)
for POV-Ray- Parameters:
params
-- Returns:
- INI file
-
setJmolCallbackListener
public abstract void setJmolCallbackListener(JmolCallbackListener jmolCallbackListener)
-
setJmolStatusListener
public abstract void setJmolStatusListener(JmolStatusListener jmolStatusListener)
-
checkHalt
public abstract boolean checkHalt(java.lang.String strCommand, boolean isInterrupt)
-
haltScriptExecution
public abstract void haltScriptExecution()
-
pushHoldRepaint
public abstract void pushHoldRepaint()
-
popHoldRepaint
public abstract void popHoldRepaint(java.lang.String why)
-
getData
public abstract java.lang.String getData(java.lang.String atomExpression, java.lang.String type)
-
getSmiles
public abstract java.lang.String getSmiles(BS atoms) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getOpenSmiles
public abstract java.lang.String getOpenSmiles(BS atoms) throws java.lang.Exception
- Throws:
java.lang.Exception
-
setScreenDimension
public abstract void setScreenDimension(int width, int height)
-
getScreenWidth
public abstract int getScreenWidth()
-
getScreenHeight
public abstract int getScreenHeight()
-
getScreenImageBuffer
public abstract java.lang.Object getScreenImageBuffer(java.lang.Object g, boolean isImageWrite)
-
releaseScreenImage
public abstract void releaseScreenImage()
-
writeTextFile
public abstract void writeTextFile(java.lang.String string, java.lang.String data)
-
outputToFile
public abstract java.lang.String outputToFile(java.util.Map<java.lang.String,java.lang.Object> params)
- Parameters:
params
- include type, fileName, text, bytes, quality, width, height- Returns:
- null (canceled) or a message starting with OK or an error message
-
getImageAsBytes
public abstract byte[] getImageAsBytes(java.lang.String type, int width, int height, int quality, java.lang.String[] errMsg)
- Parameters:
type
-width
-height
-quality
-errMsg
- TODO- Returns:
- base64-encoded or binary version of the image
-
getMotionEventNumber
public abstract int getMotionEventNumber()
-
openReader
public java.lang.String openReader(java.lang.String fullPathName, java.lang.Object reader)
Opens the file and creates the model set, given the reader. not used in Jmol- Parameters:
fullPathName
- full path name or nullreader
- a Reader, byte[], or BufferedInputStream- Returns:
- null or error message
-
openReader
public abstract java.lang.String openReader(java.lang.String fullPathName, java.lang.String fileName, java.lang.Object reader)
Opens the file and creates the model set, given the reader. name is a text name of the file ... to be displayed in the window no need to pass a BufferedReader ... ... the FileManager will wrap a buffer around it not used in Jmol- Parameters:
fullPathName
- or nullfileName
- (no path) or nullreader
- Reader, byte[], or BufferedInputStream- Returns:
- null or error message
-
showUrl
public abstract void showUrl(java.lang.String urlString)
-
getBoundBoxCenter
public abstract javajs.util.P3 getBoundBoxCenter()
-
getBoundBoxCornerVector
public abstract javajs.util.V3 getBoundBoxCornerVector()
-
getMeasurementCount
public abstract int getMeasurementCount()
-
getMeasurementStringValue
public abstract java.lang.String getMeasurementStringValue(int i)
-
getMeasurementCountPlusIndices
public abstract int[] getMeasurementCountPlusIndices(int i)
-
getElementsPresentBitSet
public abstract BS getElementsPresentBitSet(int modelIndex)
-
findNearestAtomIndex
public abstract int findNearestAtomIndex(int x, int y)
-
script
public abstract java.lang.String script(java.lang.String script)
-
scriptCheck
public abstract java.lang.Object scriptCheck(java.lang.String script)
-
scriptWait
public abstract java.lang.String scriptWait(java.lang.String script)
-
scriptWaitStatus
public abstract java.lang.Object scriptWaitStatus(java.lang.String script, java.lang.String statusList)
-
loadInline
public abstract java.lang.String loadInline(java.lang.String strModel)
-
loadInlineAppend
public abstract java.lang.String loadInlineAppend(java.lang.String strModel, boolean isAppend)
-
loadInline
public abstract java.lang.String loadInline(java.lang.String strModel, char newLine)
-
loadInline
public abstract java.lang.String loadInline(java.lang.String[] arrayModels)
-
loadInline
public abstract java.lang.String loadInline(java.lang.String[] arrayModels, boolean isAppend)
- Parameters:
arrayModels
- and array of models, each of which is a StringisAppend
-- Returns:
- null or error message
-
loadInline
public abstract java.lang.String loadInline(java.util.List<java.lang.Object> arrayData, boolean isAppend)
NOTE: THIS METHOD DOES NOT PRESERVE THE STATE- Parameters:
arrayData
- a Vector of models, where each model is either a String or a String[] or a VectorisAppend
- TRUE to append models (no ZAP)- Returns:
- null or error message
-
evalStringQuiet
public abstract java.lang.String evalStringQuiet(java.lang.String script)
-
isScriptExecuting
public abstract boolean isScriptExecuting()
-
getModelSetFileName
public abstract java.lang.String getModelSetFileName()
-
getModelSetPathName
public abstract java.lang.String getModelSetPathName()
-
getModelSetProperties
public abstract java.util.Properties getModelSetProperties()
-
getModelSetAuxiliaryInfo
public abstract java.util.Map<java.lang.String,java.lang.Object> getModelSetAuxiliaryInfo()
-
getModelProperties
public abstract java.util.Properties getModelProperties(int modelIndex)
-
getModelNumber
public abstract int getModelNumber(int modelIndex)
-
getModelName
public abstract java.lang.String getModelName(int modelIndex)
-
getModelNumberDotted
public abstract java.lang.String getModelNumberDotted(int modelIndex)
-
getVisibleFramesBitSet
public abstract BS getVisibleFramesBitSet()
-
addSelectionListener
public abstract void addSelectionListener(JmolSelectionListener listener)
-
removeSelectionListener
public abstract void removeSelectionListener(JmolSelectionListener listener)
-
homePosition
public abstract void homePosition()
-
getBackgroundArgb
public abstract int getBackgroundArgb()
-
getMadBond
public abstract short getMadBond()
-
rebond
public abstract void rebond()
-
refresh
public abstract void refresh(int isOrientationChange, java.lang.String strWhy)
-
notifyViewerRepaintDone
public abstract void notifyViewerRepaintDone()
-
getBooleanProperty
public abstract boolean getBooleanProperty(java.lang.String propertyName)
-
getParameter
public abstract java.lang.Object getParameter(java.lang.String name)
-
getSetHistory
public abstract java.lang.String getSetHistory(int howFarBack)
-
getStateInfo
public abstract java.lang.String getStateInfo()
-
syncScript
public abstract void syncScript(java.lang.String script, java.lang.String applet, int port)
-
setColorBackground
public abstract void setColorBackground(java.lang.String colorName)
-
setJmolDefaults
public abstract void setJmolDefaults()
-
setRasmolDefaults
public abstract void setRasmolDefaults()
-
setBooleanProperty
public abstract void setBooleanProperty(java.lang.String propertyName, boolean value)
-
setIntProperty
public abstract void setIntProperty(java.lang.String propertyName, int value)
-
setFloatProperty
public abstract void setFloatProperty(java.lang.String propertyName, float value)
-
setStringProperty
public abstract void setStringProperty(java.lang.String propertyName, java.lang.String value)
-
setShowHydrogens
public abstract void setShowHydrogens(boolean showHydrogens)
-
setShowMeasurements
public abstract void setShowMeasurements(boolean showMeasurements)
-
setPerspectiveDepth
public abstract void setPerspectiveDepth(boolean perspectiveDepth)
-
setAutoBond
public abstract void setAutoBond(boolean autoBond)
-
setMarBond
public abstract void setMarBond(short marBond)
-
setBondTolerance
public abstract void setBondTolerance(float bondTolerance)
-
setMinBondDistance
public abstract void setMinBondDistance(float minBondDistance)
-
setAxesOrientationRasmol
public abstract void setAxesOrientationRasmol(boolean axesMessedUp)
-
setPercentVdwAtom
public abstract void setPercentVdwAtom(int percentVdwAtom)
-
setAnimationFps
public abstract void setAnimationFps(int framesPerSecond)
-
setFrankOn
public abstract void setFrankOn(boolean frankOn)
-
setDebugScript
public abstract void setDebugScript(boolean debugScript)
-
deleteMeasurement
public abstract void deleteMeasurement(int i)
-
clearMeasurements
public abstract void clearMeasurements()
-
setVectorScale
public abstract void setVectorScale(float vectorScaleValue)
-
setVibrationScale
public abstract void setVibrationScale(float vibrationScaleValue)
-
setVibrationPeriod
public abstract void setVibrationPeriod(float vibrationPeriod)
-
selectAll
public abstract void selectAll()
-
clearSelection
public abstract void clearSelection()
-
setSelectionSet
public abstract void setSelectionSet(BS newSelection)
-
setCenterSelected
public abstract void setCenterSelected()
-
rotateFront
public abstract void rotateFront()
-
getModelAdapter
public abstract JmolAdapter getModelAdapter()
-
openFileAsyncSpecial
public abstract void openFileAsyncSpecial(java.lang.String fileName, int flags)
-
openFileAsync
public void openFileAsync(java.lang.String fileName)
-
getErrorMessage
public abstract java.lang.String getErrorMessage()
-
getErrorMessageUn
public abstract java.lang.String getErrorMessageUn()
-
renderScreenImage
@Deprecated public void renderScreenImage(java.lang.Object g, java.lang.Object currentSize, java.lang.Object rectClip)
Deprecated.old -- not used in 12.2- Parameters:
g
-currentSize
-rectClip
- // unused
-
renderScreenImage
public abstract void renderScreenImage(java.lang.Object g, int width, int height)
-
evalFile
public abstract java.lang.String evalFile(java.lang.String strFilename)
-
evalString
public abstract java.lang.String evalString(java.lang.String strScript)
-
openStringInline
public abstract java.lang.String openStringInline(java.lang.String strModel)
-
openDOM
public abstract java.lang.String openDOM(java.lang.Object DOMNode)
-
openFile
public abstract java.lang.String openFile(java.lang.String fileName)
-
openFiles
public abstract java.lang.String openFiles(java.lang.String[] fileNames)
-
getProperty
public abstract java.lang.Object getProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)
- Parameters:
returnType
- "JSON", "string", "readable", and anything else returns the Java object.infoType
-paramInfo
-- Returns:
- property data -- see org.jmol.viewer.PropertyManager.java
-
evaluateExpression
public abstract java.lang.Object evaluateExpression(java.lang.Object expression)
-
resizeInnerPanel
public abstract int[] resizeInnerPanel(int width, int height)
-
runScript
public abstract java.lang.String runScript(java.lang.String script)
run a script immediately and return output buffer string Jmol 13.1.15- Parameters:
script
-- Returns:
- string from ScriptEvaluator#outputBuffer
-
extractMolData
public abstract java.lang.String extractMolData(java.lang.String what)
-
getClipboardText
public abstract java.lang.String getClipboardText()
-
clipImageOrPasteText
public abstract java.lang.String clipImageOrPasteText(java.lang.String text)
-
notifyStatusReady
public abstract void notifyStatusReady(boolean isReady)
-
getModelIndexFromId
public abstract int getModelIndexFromId(java.lang.String id)
- Parameters:
id
- some_id, filename#id, or ~fileNo.modelNo added ".basemodel" indicates to get the first model in a series from a JDX-MOL file.- Returns:
- model index if found; -2 if file found but model not found -2 if no file indicated and no model found -1 if no such file
-
setMenu
public abstract void setMenu(java.lang.String menuFile, boolean isFile)
-
dispose
public void dispose()
-
-