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 GenericPlatformapiPlatformStringmenuStructure
-
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 voidaddSelectionListener(JmolSelectionListener listener)static JmolViewerallocateViewer(Object container, JmolAdapter jmolAdapter)a simpler optionstatic JmolViewerallocateViewer(Object display, JmolAdapter modelAdapter, String fullName, URL documentBase, URL codeBase, String commandOptions, JmolStatusListener statusListener)legacy onlyprotected static JmolViewerallocateViewer(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 voidcalcAtomsMinMax(javajs.util.BS bs, BoxInfo boxInfo)abstract booleancheckHalt(String strCommand, boolean isInterrupt)abstract voidclearMeasurements()abstract voidclearSelection()abstract StringclipImageOrPasteText(String text)abstract voiddeleteMeasurement(int i)voiddispose()abstract StringevalFile(String strFilename)abstract StringevalString(String strScript)abstract StringevalStringQuiet(String script)abstract ObjectevaluateExpression(Object expression)abstract StringextractMolData(String what)abstract intfindNearestAtomIndex(int x, int y)abstract StringgenerateOutputForExport(Map<String,Object> params)for POV-Rayabstract intgetBackgroundArgb()abstract booleangetBoolean(int tok)abstract booleangetBooleanProperty(String propertyName)abstract javajs.util.P3getBoundBoxCenter()abstract javajs.util.V3getBoundBoxCornerVector()abstract StringgetClipboardText()abstract StringgetData(String atomExpression, String type)abstract javajs.util.BSgetElementsPresentBitSet(int modelIndex)abstract StringgetErrorMessage()abstract StringgetErrorMessageUn()abstract floatgetFloat(int tok)abstract byte[]getImageAsBytes(String type, int width, int height, int quality, String[] errMsg)abstract intgetInt(int tok)static StringgetJmolVersion()abstract shortgetMadBond()abstract intgetMeasurementCount()abstract int[]getMeasurementCountPlusIndices(int i)abstract StringgetMeasurementStringValue(int i)abstract JmolAdaptergetModelAdapter()abstract intgetModelIndexFromId(String id)abstract StringgetModelName(int modelIndex)abstract intgetModelNumber(int modelIndex)abstract StringgetModelNumberDotted(int modelIndex)abstract PropertiesgetModelProperties(int modelIndex)abstract Map<String,Object>getModelSetAuxiliaryInfo()abstract StringgetModelSetFileName()abstract StringgetModelSetPathName()abstract PropertiesgetModelSetProperties()abstract intgetMotionEventNumber()abstract StringgetOpenSmiles(javajs.util.BS atoms)abstract ObjectgetParameter(String name)abstract ObjectgetProperty(String returnType, String infoType, Object paramInfo)abstract intgetScreenHeight()abstract ObjectgetScreenImageBuffer(Object g, boolean isImageWrite)abstract intgetScreenWidth()abstract StringgetSetHistory(int howFarBack)abstract javajs.util.BSgetSmartsMatch(String smarts, javajs.util.BS bsSelected)abstract StringgetSmiles(javajs.util.BS atoms)abstract StringgetStateInfo()abstract javajs.util.BSgetVisibleFramesBitSet()abstract voidhaltScriptExecution()abstract voidhomePosition()abstract booleanisScriptExecuting()abstract StringloadInline(String strModel)abstract StringloadInline(String[] arrayModels)abstract StringloadInline(String[] arrayModels, boolean isAppend)abstract StringloadInline(String strModel, char newLine)abstract StringloadInline(List<Object> arrayData, boolean isAppend)NOTE: THIS METHOD DOES NOT PRESERVE THE STATEabstract StringloadInlineAppend(String strModel, boolean isAppend)abstract voidnotifyStatusReady(boolean isReady)abstract voidnotifyViewerRepaintDone()abstract StringopenDOM(Object DOMNode)abstract StringopenFile(String fileName)voidopenFileAsync(String fileName)abstract voidopenFileAsyncSpecial(String fileName, int flags)abstract StringopenFiles(String[] fileNames)StringopenReader(String fullPathName, Object reader)Opens the file and creates the model set, given the reader.abstract StringopenReader(String fullPathName, String fileName, Object reader)Opens the file and creates the model set, given the reader.abstract StringopenStringInline(String strModel)abstract StringoutputToFile(Map<String,Object> params)abstract voidpopHoldRepaint(String why)abstract voidpushHoldRepaint()abstract voidrebond()abstract voidrefresh(int isOrientationChange, String strWhy)abstract voidreleaseScreenImage()abstract voidremoveSelectionListener(JmolSelectionListener listener)abstract voidrenderScreenImage(Object g, int width, int height)voidrenderScreenImage(Object g, Object currentSize, Object rectClip)Deprecated.abstract int[]resizeInnerPanel(int width, int height)abstract voidrotateFront()abstract StringrunScript(String script)starting with 14.8.2-beta-2017-02-06, uses script(xxxx) function; see runScriptCautiously for the older versionStringrunScriptCautiously(String script)Formerly runScript(script).abstract Stringscript(String script)abstract ObjectscriptCheck(String script)abstract StringscriptWait(String script)abstract ObjectscriptWaitStatus(String script, String statusList)abstract voidselectAll()abstract voidsetAnimationFps(int framesPerSecond)abstract voidsetAutoBond(boolean autoBond)abstract voidsetAxesOrientationRasmol(boolean axesMessedUp)abstract voidsetBondTolerance(float bondTolerance)abstract voidsetBooleanProperty(String propertyName, boolean value)abstract voidsetCenterSelected()abstract voidsetColorBackground(String colorName)voidsetConsole(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 voidsetDebugScript(boolean debugScript)abstract voidsetFloatProperty(String propertyName, float value)abstract voidsetFrankOn(boolean frankOn)abstract voidsetInMotion(boolean isInMotion)abstract voidsetIntProperty(String propertyName, int value)abstract voidsetJmolCallbackListener(JmolCallbackListener jmolCallbackListener)abstract voidsetJmolDefaults()abstract voidsetJmolStatusListener(JmolStatusListener jmolStatusListener)abstract voidsetMarBond(short marBond)abstract voidsetMenu(String menuFile, boolean isFile)abstract voidsetMinBondDistance(float minBondDistance)abstract voidsetPercentVdwAtom(int percentVdwAtom)abstract voidsetPerspectiveDepth(boolean perspectiveDepth)abstract voidsetRasmolDefaults()abstract voidsetScreenDimension(int width, int height)abstract voidsetSelectionSet(javajs.util.BS newSelection)abstract voidsetShowHydrogens(boolean showHydrogens)abstract voidsetShowMeasurements(boolean showMeasurements)abstract voidsetStringProperty(String propertyName, String value)abstract voidsetVectorScale(float vectorScaleValue)abstract voidsetVibrationPeriod(float vibrationPeriod)abstract voidsetVibrationScale(float vibrationScaleValue)abstract voidshowUrl(String urlString)abstract voidsyncScript(String script, String applet, int port)abstract StringwriteTextFile(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()
-
-