Package org.jmol.api

Class 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 Detail

      • menuStructure

        public java.lang.String menuStructure
    • Constructor Detail

      • JmolViewer

        public JmolViewer()
    • 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,
                                                   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 javajs.util.BS getSmartsMatch​(java.lang.String smarts,
                                                      javajs.util.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​(javajs.util.BS atoms)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getOpenSmiles

        public abstract java.lang.String getOpenSmiles​(javajs.util.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 java.lang.String 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 null
        reader - 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 null
        fileName - (no path) or null
        reader - Reader, byte[], or BufferedInputStream
        Returns:
        null or error message
      • showUrl

        public abstract void showUrl​(java.lang.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 java.lang.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)
      • 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 String
        isAppend -
        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 Vector
        isAppend - 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 javajs.util.BS getVisibleFramesBitSet()
      • 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​(javajs.util.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)
        Parameters:
        expression -
        Returns:
        a String representation of the evaluated expression
      • evaluateExpressionAsVariable

        public abstract SV evaluateExpressionAsVariable​(java.lang.Object expression)
        Parameters:
        expression -
        Returns:
        a String representation of the evaluated expression as a script variable (org.jmol.script.SV)
      • resizeInnerPanel

        public abstract int[] resizeInnerPanel​(int width,
                                               int height)
      • runScript

        public abstract java.lang.String runScript​(java.lang.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 java.lang.String runScriptCautiously​(java.lang.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
      • 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()