Package org.jmol.api
Class JmolViewer
- java.lang.Object
-
- org.jmol.api.JmolViewer
-
- Direct Known Subclasses:
Viewer
public abstract class JmolViewer extends 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 GenericPlatform
apiPlatform
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(Object container, JmolAdapter jmolAdapter)
a simpler optionstatic JmolViewer
allocateViewer(Object display, JmolAdapter modelAdapter, String fullName, URL documentBase, URL codeBase, String commandOptions, JmolStatusListener statusListener)
legacy onlyprotected static JmolViewer
allocateViewer(Object display, JmolAdapter modelAdapter, String fullName, URL documentBase, URL codeBase, String commandOptions, JmolStatusListener statusListener, GenericPlatform implementedPlatform)
This is the older main access point for creating an application or applet vwr.abstract void
calcAtomsMinMax(javajs.util.BS bs, BoxInfo boxInfo)
abstract boolean
checkHalt(String strCommand, boolean isInterrupt)
abstract void
clearMeasurements()
abstract void
clearSelection()
abstract String
clipImageOrPasteText(String text)
abstract void
deleteMeasurement(int i)
void
dispose()
abstract String
evalFile(String strFilename)
abstract String
evalString(String strScript)
abstract String
evalStringQuiet(String script)
abstract Object
evaluateExpression(Object expression)
abstract String
extractMolData(String what)
abstract int
findNearestAtomIndex(int x, int y)
abstract String
generateOutputForExport(Map<String,Object> params)
for POV-Rayabstract int
getBackgroundArgb()
abstract boolean
getBoolean(int tok)
abstract boolean
getBooleanProperty(String propertyName)
abstract javajs.util.P3
getBoundBoxCenter()
abstract javajs.util.V3
getBoundBoxCornerVector()
abstract String
getClipboardText()
abstract String
getData(String atomExpression, String type)
abstract javajs.util.BS
getElementsPresentBitSet(int modelIndex)
abstract String
getErrorMessage()
abstract String
getErrorMessageUn()
abstract float
getFloat(int tok)
abstract byte[]
getImageAsBytes(String type, int width, int height, int quality, String[] errMsg)
abstract int
getInt(int tok)
static String
getJmolVersion()
abstract short
getMadBond()
abstract int
getMeasurementCount()
abstract int[]
getMeasurementCountPlusIndices(int i)
abstract String
getMeasurementStringValue(int i)
abstract JmolAdapter
getModelAdapter()
abstract int
getModelIndexFromId(String id)
abstract String
getModelName(int modelIndex)
abstract int
getModelNumber(int modelIndex)
abstract String
getModelNumberDotted(int modelIndex)
abstract Properties
getModelProperties(int modelIndex)
abstract Map<String,Object>
getModelSetAuxiliaryInfo()
abstract String
getModelSetFileName()
abstract String
getModelSetPathName()
abstract Properties
getModelSetProperties()
abstract int
getMotionEventNumber()
abstract String
getOpenSmiles(javajs.util.BS atoms)
abstract Object
getParameter(String name)
abstract Object
getProperty(String returnType, String infoType, Object paramInfo)
abstract int
getScreenHeight()
abstract Object
getScreenImageBuffer(Object g, boolean isImageWrite)
abstract int
getScreenWidth()
abstract String
getSetHistory(int howFarBack)
abstract javajs.util.BS
getSmartsMatch(String smarts, javajs.util.BS bsSelected)
abstract String
getSmiles(javajs.util.BS atoms)
abstract String
getStateInfo()
abstract javajs.util.BS
getVisibleFramesBitSet()
abstract void
haltScriptExecution()
abstract void
homePosition()
abstract boolean
isScriptExecuting()
abstract String
loadInline(String strModel)
abstract String
loadInline(String[] arrayModels)
abstract String
loadInline(String[] arrayModels, boolean isAppend)
abstract String
loadInline(String strModel, char newLine)
abstract String
loadInline(List<Object> arrayData, boolean isAppend)
NOTE: THIS METHOD DOES NOT PRESERVE THE STATEabstract String
loadInlineAppend(String strModel, boolean isAppend)
abstract void
notifyStatusReady(boolean isReady)
abstract void
notifyViewerRepaintDone()
abstract String
openDOM(Object DOMNode)
abstract String
openFile(String fileName)
void
openFileAsync(String fileName)
abstract void
openFileAsyncSpecial(String fileName, int flags)
abstract String
openFiles(String[] fileNames)
String
openReader(String fullPathName, Object reader)
Opens the file and creates the model set, given the reader.abstract String
openReader(String fullPathName, String fileName, Object reader)
Opens the file and creates the model set, given the reader.abstract String
openStringInline(String strModel)
abstract String
outputToFile(Map<String,Object> params)
abstract void
popHoldRepaint(String why)
abstract void
pushHoldRepaint()
abstract void
rebond()
abstract void
refresh(int isOrientationChange, String strWhy)
abstract void
releaseScreenImage()
abstract void
removeSelectionListener(JmolSelectionListener listener)
abstract void
renderScreenImage(Object g, int width, int height)
void
renderScreenImage(Object g, Object currentSize, Object rectClip)
Deprecated.abstract int[]
resizeInnerPanel(int width, int height)
abstract void
rotateFront()
abstract String
runScript(String script)
starting with 14.8.2-beta-2017-02-06, uses script(xxxx) function; see runScriptCautiously for the older versionString
runScriptCautiously(String script)
Formerly runScript(script).abstract String
script(String script)
abstract Object
scriptCheck(String script)
abstract String
scriptWait(String script)
abstract Object
scriptWaitStatus(String script, 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(String propertyName, boolean value)
abstract void
setCenterSelected()
abstract void
setColorBackground(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(String propertyName, float value)
abstract void
setFrankOn(boolean frankOn)
abstract void
setInMotion(boolean isInMotion)
abstract void
setIntProperty(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(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(javajs.util.BS newSelection)
abstract void
setShowHydrogens(boolean showHydrogens)
abstract void
setShowMeasurements(boolean showMeasurements)
abstract void
setStringProperty(String propertyName, String value)
abstract void
setVectorScale(float vectorScaleValue)
abstract void
setVibrationPeriod(float vibrationPeriod)
abstract void
setVibrationScale(float vibrationScaleValue)
abstract void
showUrl(String urlString)
abstract void
syncScript(String script, String applet, int port)
abstract String
writeTextFile(String string, String data)
-
-
-
Field Detail
-
menuStructure
public String menuStructure
-
apiPlatform
public GenericPlatform apiPlatform
-
-
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(Object display, JmolAdapter modelAdapter, String fullName, URL documentBase, URL codeBase, String commandOptions, JmolStatusListener statusListener, 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(Object container, JmolAdapter jmolAdapter)
a simpler option- Parameters:
container
-jmolAdapter
-- Returns:
- JmolViewer object
-
allocateViewer
public static JmolViewer allocateViewer(Object display, JmolAdapter modelAdapter, String fullName, URL documentBase, URL codeBase, 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 javajs.util.BS getSmartsMatch(String smarts, javajs.util.BS bsSelected) throws Exception
- Throws:
Exception
-
getJmolVersion
public static String getJmolVersion()
-
generateOutputForExport
public abstract String generateOutputForExport(Map<String,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(String strCommand, boolean isInterrupt)
-
haltScriptExecution
public abstract void haltScriptExecution()
-
pushHoldRepaint
public abstract void pushHoldRepaint()
-
popHoldRepaint
public abstract void popHoldRepaint(String why)
-
getSmiles
public abstract String getSmiles(javajs.util.BS atoms) throws Exception
- Throws:
Exception
-
getOpenSmiles
public abstract String getOpenSmiles(javajs.util.BS atoms) throws Exception
- Throws:
Exception
-
setScreenDimension
public abstract void setScreenDimension(int width, int height)
-
getScreenWidth
public abstract int getScreenWidth()
-
getScreenHeight
public abstract int getScreenHeight()
-
releaseScreenImage
public abstract void releaseScreenImage()
-
outputToFile
public abstract String outputToFile(Map<String,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(String type, int width, int height, int quality, 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 String openReader(String fullPathName, 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 String openReader(String fullPathName, String fileName, 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(String urlString)
-
calcAtomsMinMax
public abstract void calcAtomsMinMax(javajs.util.BS bs, BoxInfo boxInfo)
-
getBoundBoxCenter
public abstract javajs.util.P3 getBoundBoxCenter()
-
getBoundBoxCornerVector
public abstract javajs.util.V3 getBoundBoxCornerVector()
-
getMeasurementCount
public abstract int getMeasurementCount()
-
getMeasurementStringValue
public abstract String getMeasurementStringValue(int i)
-
getMeasurementCountPlusIndices
public abstract int[] getMeasurementCountPlusIndices(int i)
-
getElementsPresentBitSet
public abstract javajs.util.BS getElementsPresentBitSet(int modelIndex)
-
findNearestAtomIndex
public abstract int findNearestAtomIndex(int x, int y)
-
loadInline
public abstract String loadInline(String[] arrayModels, boolean isAppend)
- Parameters:
arrayModels
- and array of models, each of which is a StringisAppend
-- Returns:
- null or error message
-
loadInline
public abstract String loadInline(List<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 Vector<String>isAppend
- TRUE to append models (no ZAP)- Returns:
- null or error message
-
isScriptExecuting
public abstract boolean isScriptExecuting()
-
getModelSetFileName
public abstract String getModelSetFileName()
-
getModelSetPathName
public abstract String getModelSetPathName()
-
getModelSetProperties
public abstract Properties getModelSetProperties()
-
getModelProperties
public abstract Properties getModelProperties(int modelIndex)
-
getModelNumber
public abstract int getModelNumber(int modelIndex)
-
getModelName
public abstract String getModelName(int modelIndex)
-
getModelNumberDotted
public abstract String getModelNumberDotted(int modelIndex)
-
getVisibleFramesBitSet
public abstract javajs.util.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, String strWhy)
-
notifyViewerRepaintDone
public abstract void notifyViewerRepaintDone()
-
getBooleanProperty
public abstract boolean getBooleanProperty(String propertyName)
-
getSetHistory
public abstract String getSetHistory(int howFarBack)
-
getStateInfo
public abstract String getStateInfo()
-
setColorBackground
public abstract void setColorBackground(String colorName)
-
setJmolDefaults
public abstract void setJmolDefaults()
-
setRasmolDefaults
public abstract void setRasmolDefaults()
-
setBooleanProperty
public abstract void setBooleanProperty(String propertyName, boolean value)
-
setIntProperty
public abstract void setIntProperty(String propertyName, int value)
-
setFloatProperty
public abstract void setFloatProperty(String propertyName, float 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(javajs.util.BS newSelection)
-
setCenterSelected
public abstract void setCenterSelected()
-
rotateFront
public abstract void rotateFront()
-
getModelAdapter
public abstract JmolAdapter getModelAdapter()
-
openFileAsyncSpecial
public abstract void openFileAsyncSpecial(String fileName, int flags)
-
openFileAsync
public void openFileAsync(String fileName)
-
getErrorMessage
public abstract String getErrorMessage()
-
getErrorMessageUn
public abstract String getErrorMessageUn()
-
renderScreenImage
@Deprecated public void renderScreenImage(Object g, Object currentSize, Object rectClip)
Deprecated.old -- not used in 12.2- Parameters:
g
-currentSize
-rectClip
- // unused
-
renderScreenImage
public abstract void renderScreenImage(Object g, int width, int height)
-
getProperty
public abstract Object getProperty(String returnType, String infoType, 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
-
resizeInnerPanel
public abstract int[] resizeInnerPanel(int width, int height)
-
runScript
public abstract String runScript(String script)
starting with 14.8.2-beta-2017-02-06, uses script(xxxx) function; see runScriptCautiously for the older version- Parameters:
script
-- Returns:
- string from ScriptEvaluator#outputBuffer
-
runScriptCautiously
public String runScriptCautiously(String script)
Formerly runScript(script). run a script immediately and return output buffer string Jmol 13.1.15- Parameters:
script
-- Returns:
- string from ScriptEvaluator#outputBuffer
-
getClipboardText
public abstract String getClipboardText()
-
notifyStatusReady
public abstract void notifyStatusReady(boolean isReady)
-
getModelIndexFromId
public abstract int getModelIndexFromId(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(String menuFile, boolean isFile)
-
dispose
public void dispose()
-
-