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 Details

  • Constructor Details

    • JmolViewer

      public JmolViewer()
  • Method Details

    • 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 BS getSmartsMatch(String smarts, BS bsSelected) throws Exception
      Throws:
      Exception
    • getJmolVersion

      public static String getJmolVersion()
    • getJmolVersionNoDate

      public static String getJmolVersionNoDate()
    • 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)
    • getData

      public abstract String getData(String atomExpression, String type)
    • getSmiles

      public abstract String getSmiles(BS atoms) throws Exception
      Throws:
      Exception
    • getOpenSmiles

      public abstract String getOpenSmiles(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()
    • getScreenImageBuffer

      public abstract Object getScreenImageBuffer(Object g, boolean isImageWrite)
    • releaseScreenImage

      public abstract void releaseScreenImage()
    • writeTextFile

      public abstract String writeTextFile(String string, String data)
    • 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 null
      reader - 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 null
      fileName - (no path) or null
      reader - Reader, byte[], or BufferedInputStream
      Returns:
      null or error message
    • showUrl

      public abstract void showUrl(String urlString)
    • calcAtomsMinMax

      public abstract void calcAtomsMinMax(BS bs, BoxInfo boxInfo)
    • getBoundBoxCenter

      public abstract P3 getBoundBoxCenter()
    • getBoundBoxCornerVector

      public abstract V3 getBoundBoxCornerVector()
    • getMeasurementCount

      public abstract int getMeasurementCount()
    • getMeasurementStringValue

      public abstract 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 String script(String script)
    • scriptCheck

      public abstract Object scriptCheck(String script)
    • scriptWait

      public abstract String scriptWait(String script)
    • scriptWaitStatus

      public abstract Object scriptWaitStatus(String script, String statusList)
    • loadInline

      public abstract String loadInline(String strModel)
    • loadInlineAppend

      public abstract String loadInlineAppend(String strModel, boolean isAppend)
    • loadInline

      public abstract String loadInline(String strModel, char newLine)
    • loadInline

      public abstract String loadInline(String[] arrayModels)
    • loadInline

      public abstract String loadInline(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 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
      isAppend - TRUE to append models (no ZAP)
      Returns:
      null or error message
    • evalStringQuiet

      public abstract String evalStringQuiet(String script)
    • isScriptExecuting

      public abstract boolean isScriptExecuting()
    • getModelSetFileName

      public abstract String getModelSetFileName()
    • getModelSetPathName

      public abstract String getModelSetPathName()
    • getModelSetProperties

      public abstract Properties getModelSetProperties()
    • getModelSetAuxiliaryInfo

      public abstract Map<String,Object> getModelSetAuxiliaryInfo()
    • 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 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)
    • getParameter

      public abstract Object getParameter(String name)
    • getSetHistory

      public abstract String getSetHistory(int howFarBack)
    • getStateInfo

      public abstract String getStateInfo()
    • syncScript

      public abstract void syncScript(String script, String applet, int port)
    • 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)
    • setStringProperty

      public abstract void setStringProperty(String propertyName, 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(String fileName, int flags)
    • openFileAsyncSpecialType

      public abstract void openFileAsyncSpecialType(String fileName, int flags, String fileType)
    • 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)
    • evalFile

      public abstract String evalFile(String strFilename)
    • evalFileArgs

      public abstract String evalFileArgs(String scriptFilename, String scriptArguments)
    • evalString

      public abstract String evalString(String strScript)
    • openStringInline

      public abstract String openStringInline(String strModel)
    • openDOM

      public abstract String openDOM(Object DOMNode)
    • openFile

      public abstract String openFile(String fileName)
    • openFiles

      public abstract String openFiles(String[] fileNames)
    • 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
    • evaluateExpression

      public abstract Object evaluateExpression(Object expression)
      Parameters:
      expression -
      Returns:
      a String representation of the evaluated expression
    • evaluateExpressionAsVariable

      public abstract SV evaluateExpressionAsVariable(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 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
    • extractMolData

      public abstract String extractMolData(String what)
    • getClipboardText

      public abstract String getClipboardText()
    • clipImageOrPasteText

      public abstract String clipImageOrPasteText(String text)
    • 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()