Viewer
Date: 2019-10-22

org.jmol.viewer

## Class Viewer

- java.lang.Object
- - org.jmol.api.JmolViewer
  - - org.jmol.viewer.Viewer

- All Implemented Interfaces:
    PlatformViewer, AtomDataServer

      public class Viewer
      extends JmolViewer
      implements AtomDataServer, PlatformViewer

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Viewer.ACCESS`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private Viewer.ACCESS` | `access`
    `ActionManager` | `acm`
    `(package private) javajs.util.Lst<java.lang.String>` | `actionStates`
    `(package private) javajs.util.Lst<java.lang.String>` | `actionStatesRedo`
    `boolean` | `allowArrayDotNotation`
    `private boolean` | `allowScripting`
    `AnimationManager` | `am`
    `private JmolAnnotationParser` | `annotationParser`
    `boolean` | `antialiased`
    `private JmolAppConsoleInterface` | `appConsole`
    `static java.lang.String` | `appletCodeBase`
    `static java.lang.String` | `appletDocumentBase`
    `static java.lang.String` | `appletIdiomaBase`
    `java.lang.String` | `appletName`
    `boolean` | `async`
    `int` | `atomHighlighted`
    `boolean` | `autoExit`
    `private boolean` | `axesAreTainted`
    `(package private) javajs.util.BS` | `bsUserVdws`
    `java.util.Map<java.lang.String,java.lang.Object>` | `captureParams`
    `private boolean` | `chainCaseSpecified`
    `private javajs.util.Lst<java.lang.String>` | `chainList`
    `java.util.Map<java.lang.Object,java.lang.Object>` | `chainMap`
    `ColorManager` | `cm`
    `private CommandHistory` | `commandHistory`
    `private java.lang.String` | `commandOptions`
    `java.lang.Object` | `compiler`
    `boolean` | `creatingImage`
    `int` | `currentCursor`
    `private int` | `currentShapeID`
    `private java.lang.String` | `currentShapeState`
    `private boolean` | `dataOnly`
    `(package private) VDW` | `defaultVdw`
    `java.util.Map<java.lang.String,java.lang.Object>` | `definedAtomSets`
    `java.lang.Object` | `display`
    `boolean` | `displayLoadErrors`
    `(package private) JmolDataManager` | `dm`
    `private JmolAnnotationParser` | `dssrParser`
    `private java.lang.String` | `errorMessage`
    `private java.lang.String` | `errorMessageUntranslated`
    `JmolScriptEvaluator` | `eval`
    `java.lang.Object` | `executor`
    `FileManager` | `fm`
    `boolean` | `frankOn`
    `java.lang.String` | `fullName`
    `GlobalSettings` | `g`
    `GData` | `gdata`
    `private java.lang.Object` | `gRight` A graphics from a "slave" stereo display that has been synchronized with this this applet.
    `boolean` | `haveDisplay`
    `private boolean` | `haveJDX`
    `boolean` | `headless` determined by GraphicsEnvironment.isHeadless() from java -Djava.awt.headless=true disables command threading disables DELAY, TIMEOUT, PAUSE, LOOP, GOTO, SPIN , ANIMATION ON turns SPIN into just ROTATE
    `private java.util.Map<java.lang.String,java.lang.Object>` | `headlessImageParams`
    `private int` | `hoverAtomIndex`
    `private boolean` | `hoverEnabled`
    `private java.lang.String` | `hoverLabel`
    `private java.lang.String` | `hoverText`
    `JSmolAppletObject` | `html5Applet`
    `java.lang.String` | `htmlName`
    `float` | `imageFontScaling`
    `private boolean` | `inMotion`
    `private java.lang.String` | `insertedCommand`
    `boolean` | `isApplet`
    `boolean` | `isJNLP`
    `static boolean` | `isJS`
    `static boolean` | `isJSNoAWT`
    `(package private) boolean` | `isKiosk`
    `private boolean` | `isParallel`
    `boolean` | `isPreviewOnly`
    `boolean` | `isPrintOnly`
    `boolean` | `isSignedApplet`
    `private boolean` | `isSignedAppletLocal`
    `private boolean` | `isSilent`
    `boolean` | `isSingleThreaded`
    `private boolean` | `isStereoSlave` A flag to indicate that THIS is the right-side panel of a pair of synced applets running a left-right stereo display (that would be piped into a dual-image polarized projector system such as GeoWall).
    `static boolean` | `isSwingJS`
    `boolean` | `isSyntaxAndFileCheck`
    `boolean` | `isSyntaxCheck`
    `(package private) boolean` | `isTainted`
    `static boolean` | `isWebGL`
    `(package private) BioResolver` | `jbr`
    `private JmolChimeMessenger` | `jcm`
    `static JmolToJSmolInterface` | `jmolObject`
    `private GenericMenuInterface` | `jmolpopup`
    `(package private) JmolStateCreator` | `jsc`
    `static java.lang.String` | `jsDocumentBase`
    `private JmolRendererInterface` | `jsExporter3D`
    `private javajs.util.JSJSONParser` | `jsonParser`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `jsParams`
    `private JmolJSpecView` | `jsv`
    `private javajs.api.GenericZipTools` | `jzt`
    `private java.lang.Object[]` | `lastData`
    `(package private) java.util.Map<java.lang.String,java.lang.Object>` | `ligandModels`
    `(package private) java.util.Map<java.lang.String,java.lang.Boolean>` | `ligandModelSet`
    `boolean` | `listCommands`
    `(package private) java.util.Map<java.lang.String,JmolScriptFunction>` | `localFunctions`
    `(package private) java.lang.String` | `logFileName`
    `(package private) java.lang.String` | `logFilePath`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `macros`
    `private int` | `maximumSize`
    `private Minimizer` | `minimizer`
    `ModelManager` | `mm`
    `private JmolAdapter` | `modelAdapter`
    `private ModelKitPopup` | `modelkit`
    `private int` | `motionEventNumber`
    `private GenericMouseInterface` | `mouse` either org.jmol.awt.Mouse or org.jmol.awtjs2d.Mouse
    `javajs.util.BS` | `movableBitSet`
    `private boolean` | `movingSelected`
    `ModelSet` | `ms`
    `private boolean` | `multiTouch`
    `(package private) boolean` | `mustRender`
    `private NBOParser` | `nboParser`
    `(package private) JmolNMRInterface` | `nmrCalculation`
    `boolean` | `noFrankEcho`
    `boolean` | `noGraphicsAllowed`
    `static int` | `nProcessors`
    `private OutputManager` | `outputManager`
    `(package private) JmolPropertyManager` | `pm`
    `private int` | `prevFrame`
    `private float` | `prevMorphModel`
    `private double` | `privateKey`
    `private javajs.util.P3` | `ptTemp`
    `boolean` | `queueOnHold`
    `RadiusData` | `rd`
    `static int` | `REFRESH_REPAINT`
    `static int` | `REFRESH_REPAINT_NO_MOTION_ONLY`
    `static int` | `REFRESH_SEND_WEBGL_NEW_ORIENTATION`
    `static int` | `REFRESH_SYNC`
    `static int` | `REFRESH_SYNC_MASK`
    `private boolean` | `refreshing`
    `(package private) JmolRepaintManager` | `rm`
    `private JmolScriptManager` | `scm`
    `(package private) int` | `screenHeight`
    `(package private) int` | `screenWidth`
    `private JmolScriptEditorInterface` | `scriptEditor`
    `boolean` | `scriptEditorVisible`
    `private boolean` | `selectionHalosEnabled`
    `ShapeManager` | `shm`
    `private boolean` | `showSelected`
    `SelectionManager` | `slm`
    `StatusManager` | `sm`
    `private SmilesMatcherInterface` | `smilesMatcher`
    `int` | `stateScriptVersionInt`
    `(package private) static java.util.Map<java.lang.String,JmolScriptFunction>` | `staticFunctions`
    `StateManager` | `stm`
    `static java.lang.String` | `strJavaVendor`
    `static java.lang.String` | `strJavaVersion`
    `static java.lang.String` | `strOSName`
    `static java.lang.String` | `SYNC_GRAPHICS_MESSAGE`
    `static java.lang.String` | `SYNC_NO_GRAPHICS_MESSAGE`
    `(package private) java.lang.String` | `syncId`
    `private TempArray` | `tempArray`
    `boolean` | `testAsync`
    `java.util.Map<java.lang.String,java.lang.Object>` | `timeouts`
    `TransformManager` | `tm`
    `private Triangulator` | `triangulator`
    `int` | `tryPt`
    `private boolean` | `useCommandThread`
    `(package private) int[]` | `userVdwMars`
    `(package private) float[]` | `userVdws`
    `private static java.lang.String` | `version_date`
    `java.util.Map<java.lang.String,java.lang.Object>` | `vwrOptions`

    - ### Fields inherited from class org.jmol.api.JmolViewer

      `apiPlatform, menuStructure`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Viewer(java.util.Map<java.lang.String,java.lang.Object> info)` new way...

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCommand(java.lang.String command)` Adds one or more commands to the command history
    `void` | `addFunction(JmolScriptFunction function)`
    `javajs.util.BS` | `addHydrogens(javajs.util.BS bsAtoms, boolean is2DLoad, boolean isSilent)`
    `javajs.util.BS` | `addHydrogensInline(javajs.util.BS bsAtoms, javajs.util.Lst<Atom> vConnections, javajs.util.P3[] pts)`
    `void` | `addSelectionListener(JmolSelectionListener listener)`
    `StateScript` | `addStateScript(java.lang.String script, boolean addFrameNumber, boolean postDefinitions)`
    `void` | `addUnitCellOffset(javajs.util.P3 pt)`
    `void` | `alert(java.lang.String msg)`
    `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)` old way...
    `STR[]` | `allocTempEnum(int size)`
    `javajs.util.P3[]` | `allocTempPoints(int size)`
    `javajs.util.P3i[]` | `allocTempScreens(int size)`
    `boolean` | `allowCapture()`
    `boolean` | `allowEmbeddedScripts()`
    `boolean` | `areAxesTainted()`
    `void` | `assignAtom(int atomIndex, java.lang.String element, javajs.util.P3 ptNew)`
    `void` | `autoCalculate(int tokProperty, java.lang.String dataType)`
    `int` | `autoHbond(javajs.util.BS bsFrom, javajs.util.BS bsTo, boolean onlyIfHaveCalculated)`
    `private void` | `beginRendering(boolean isDouble, boolean isImageWrite)`
    `void` | `bindAction(java.lang.String desc, java.lang.String name)`
    `javajs.util.BS` | `bsA()`
    `void` | `cacheClear()`
    `int` | `cacheFileByName(java.lang.String fileName, boolean isAdd)`
    `void` | `cachePut(java.lang.String key, java.lang.Object data)` JSInterface -- allows saving files in memory for later retrieval
    `void` | `calcAtomsMinMax(javajs.util.BS bs, BoxInfo boxInfo)`
    `void` | `calcBoundBoxDimensions(javajs.util.BS bs, float scale)`
    `java.lang.String` | `calculateChirality(javajs.util.BS bsAtoms)`
    `java.lang.String[]` | `calculateChiralityForSmiles(java.lang.String smiles)`
    `int` | `calculateFormalCharges(javajs.util.BS bs)`
    `javajs.util.V3` | `calculateMolecularDipole(javajs.util.BS bsAtoms)`
    `void` | `calculatePartialCharges(javajs.util.BS bsSelected)`
    `void` | `calculateStraightness()`
    `java.lang.String` | `calculateStructures(javajs.util.BS bsAtoms, boolean asDSSP, boolean setStructure, int version)`
    `int` | `calculateStruts(javajs.util.BS bs1, javajs.util.BS bs2)`
    `javajs.util.P3[]` | `calculateSurface(javajs.util.BS bsSelected, float envelopeRadius)`
    `java.lang.String` | `cd(java.lang.String dir)`
    `void` | `checkCoordinatesChanged()`
    `private static float` | `checkFloatRange(float value, float min, float max)`
    `boolean` | `checkHalt(java.lang.String str, boolean isInsert)`
    `void` | `checkInMotion(int state)`
    `private static int` | `checkIntRange(int value, int min, int max)`
    `void` | `checkMenuUpdate()`
    `private void` | `checkMinimization()`
    `boolean` | `checkMotionRendering(int tok)` check motion for rendering during mouse movement, spin, vibration, and animation
    `(package private) java.util.Map<java.lang.String,java.lang.Object>` | `checkObjectClicked(int x, int y, int modifiers)`
    `(package private) boolean` | `checkObjectDragged(int prevX, int prevY, int x, int y, int action)`
    `boolean` | `checkObjectHovered(int x, int y)`
    `private boolean` | `checkOption2(java.lang.String key1, java.lang.String key2)`
    `boolean` | `checkPrivateKey(double privateKey)` Simple method to ensure that the image creator (which writes files) was in fact opened by this vwr and not by some manipulation of the applet.
    `boolean` | `checkPropertyParameter(java.lang.String name)`
    `boolean` | `checkSelect(java.util.Map<java.lang.String,SV> h, T[] value)`
    `void` | `clearAllMeasurements()`
    `private void` | `clearAtomSets()`
    `(package private) void` | `clearClickCount()`
    `void` | `clearFunctions()`
    `void` | `clearMeasurements()`
    `(package private) void` | `clearMinimization()`
    `void` | `clearModelDependentObjects()`
    `private void` | `clearRepaintManager(int iShape)`
    `void` | `clearScriptQueue()`
    `void` | `clearSelection()`
    `void` | `clearShapeRenderers()`
    `void` | `clearThreads()`
    `void` | `clearTimeout(java.lang.String name)`
    `void` | `clearTimeouts()`
    `java.lang.String` | `clipImageOrPasteText(java.lang.String text)`
    `T[]` | `compileExpr(java.lang.String expr)`
    `void` | `connectNBO(java.lang.String type)`
    `private java.lang.String` | `createModelSetAndReturnError(java.lang.Object atomSetCollection, boolean isAppend, javajs.util.SB loadScript, java.util.Map<java.lang.String,java.lang.Object> htParams)` finally(!) we are ready to create the "model set" from the "atom set collection" - does NOT repaint
    `java.lang.Object` | `createZip(java.lang.String fileName, java.lang.String type, java.util.Map<java.lang.String,java.lang.Object> params)`
    `void` | `defineAtomSets(java.util.Map<java.lang.String,java.lang.Object> info)`
    `int` | `deleteAtoms(javajs.util.BS bsAtoms, boolean fullModels)`
    `void` | `deleteBonds(javajs.util.BS bsDeleted)`
    `void` | `deleteMeasurement(int i)`
    `void` | `deleteModelAtoms(int modelIndex, int firstAtomIndex, int nAtoms, javajs.util.BS bsModelAtoms)`
    `int` | `deleteModels(int modelIndex, javajs.util.BS bsAtoms)` called by ZAP {atomExpression} when atoms are present or the command is specific for a model, such as ZAP 2.1
    `(package private) void` | `depthByPixels(int pixels)`
    `java.lang.String` | `dialogAsk(java.lang.String type, java.lang.String fileName, java.util.Map<java.lang.String,java.lang.Object> params)` Ask for new file name when opening a file
    `void` | `displayAtoms(javajs.util.BS bs, boolean isDisplay, boolean isGroup, int addRemove, boolean isQuiet)`
    `void` | `dispose()` end of life for this viewer
    `private boolean` | `doHaveJDX()`
    `(package private) void` | `dragMinimizeAtom(int iAtom)`
    `private void` | `drawImage(java.lang.Object graphic, java.lang.Object img, int x, int y, boolean isDTI)`
    `(package private) void` | `echoMessage(java.lang.String msg)`
    `java.lang.String` | `evalFile(java.lang.String strFilename)`
    `float` | `evalFunctionFloat(java.lang.Object func, java.lang.Object params, float[] values)`
    `boolean` | `evalParallel(ScriptContext context, ShapeManager shapeManager)`
    `java.lang.String` | `evalString(java.lang.String strScript)`
    `java.lang.String` | `evalStringQuiet(java.lang.String strScript)`
    `java.lang.String` | `evalStringQuietSync(java.lang.String strScript, boolean isQuiet, boolean allowSyncScript)`
    `java.lang.Object` | `evalStringWaitStatusQueued(java.lang.String returnType, java.lang.String strScript, java.lang.String statusList, boolean isQuiet, boolean isQueued)`
    `java.lang.Object` | `evaluateExpression(java.lang.Object stringOrTokens)` synchronized here trapped the eventQueue; see also evaluateExpressionAsVariable
    `SV` | `evaluateExpressionAsVariable(java.lang.Object stringOrTokens)`
    `private java.lang.Object` | `evalWait(java.lang.String returnType, java.lang.String strScript, java.lang.String statusList)`
    `void` | `exitJmol()`
    `java.lang.String` | `extractMolData(java.lang.String what)`
    `java.lang.Object` | `extractProperty(java.lang.Object property, java.lang.Object args, int pt)`
    `void` | `fillAtomData(AtomData atomData, int mode)`
    `protected void` | `finalize()`
    `void` | `finalizeTransformParameters()`
    `int` | `findNearestAtomIndex(int x, int y)`
    `int` | `findNearestAtomIndexMovable(int x, int y, boolean mustBeMovable)`
    `static java.lang.String` | `fixInlineString(java.lang.String strModel, char newLine)`
    `boolean` | `frankClicked(int x, int y)`
    `boolean` | `frankClickedModelKit(int x, int y)`
    `void` | `freeTempEnum(STR[] temp)`
    `void` | `freeTempPoints(javajs.util.P3[] tempPoints)`
    `void` | `freeTempScreens(javajs.util.P3i[] tempScreens)`
    `float[][]` | `functionXY(java.lang.String functionName, int nX, int nY)` fills an array with data -- if nX < 0 and this would involve JavaScript, then this reads a full set of Double[][] in one function call.
    `float[][][]` | `functionXYZ(java.lang.String functionName, int nX, int nY, int nZ)`
    `java.lang.String` | `generateOutputForExport(java.util.Map<java.lang.String,java.lang.Object> params)` for POV-Ray
    `javajs.util.P3[]` | `getAdditionalHydrogens(javajs.util.BS bsAtoms, boolean doAll, boolean justCarbon, javajs.util.Lst<Atom> vConnections)`
    `javajs.util.BS` | `getAllAtoms()`
    `java.lang.String` | `getAllSettings(java.lang.String prefix)`
    `java.lang.String` | `getAnnotationInfo(SV d, java.lang.String match, int type)`
    `JmolAnnotationParser` | `getAnnotationParser(boolean isDSSR)`
    `java.lang.String` | `getAsciiFileOrNull(java.lang.String name)`
    `javajs.util.BS` | `getAtomBitSet(java.lang.Object atomExpression)`
    `(package private) javajs.util.BS` | `getAtomBitSetEval(JmolScriptEvaluator eval, java.lang.Object atomExpression)`
    `java.lang.String` | `getAtomDefs(java.util.Map<java.lang.String,java.lang.Object> names)`
    `javajs.util.Quat[]` | `getAtomGroupQuaternions(javajs.util.BS bsAtoms, int nMax)`
    `(package private) void` | `getAtomicPropertyState(javajs.util.SB commands, byte type, javajs.util.BS bs, java.lang.String name, float[] data)`
    `java.lang.String` | `getAtomInfo(int atomOrPointIndex)`
    `private java.lang.String` | `getAtomInfoXYZ(int atomIndex, boolean useChimeFormat)`
    `javajs.util.BS` | `getAtomsNearPt(float distance, javajs.util.P3 coord)`
    `javajs.util.Lst<java.lang.Float>` | `getAtomValidation(java.lang.String type, Atom atom)`
    `java.lang.Object` | `getAuxiliaryInfoForAtoms(java.lang.Object atomExpression)`
    `int` | `getBackgroundArgb()`
    `javajs.util.BS` | `getBaseModelBitSet()`
    `java.lang.String` | `getBindingInfo(java.lang.String qualifiers)`
    `java.lang.String` | `getBioSmiles(javajs.util.BS bs)`
    `javajs.util.BS` | `getBondsForSelectedAtoms(javajs.util.BS bsAtoms)`
    `(package private) boolean` | `getBondsPickable()`
    `boolean` | `getBoolean(int tok)`
    `boolean` | `getBooleanProperty(java.lang.String key)`
    `javajs.util.P3` | `getBoundBoxCenter()`
    `int` | `getBoundBoxCenterX()`
    `int` | `getBoundBoxCenterY()`
    `javajs.util.V3` | `getBoundBoxCornerVector()`
    `javajs.util.BS` | `getBranchBitSet(int atomIndex, int atomIndexNot, boolean allowCyclic)` given a set of atoms, a subset of atoms to test, two atoms that start the branch, and whether or not to allow the branch to cycle back on itself,deliver the set of atoms constituting this branch.
    `java.io.BufferedInputStream` | `getBufferedInputStream(java.lang.String fullPathName)`
    `javajs.util.P3[][]` | `getCenterAndPoints(javajs.util.Lst<java.lang.Object[]> atomSets, boolean addCenter)`
    `int` | `getChainID(java.lang.String id, boolean isAssign)` Create a unique integer for any chain string.
    `java.lang.String` | `getChainIDStr(int id)`
    `java.lang.String` | `getChemicalInfo(java.lang.String smiles, java.lang.String info, javajs.util.BS bsAtoms)`
    `java.lang.String` | `getChimeInfo(int tok)`
    `JmolChimeMessenger` | `getChimeMessenger()`
    `java.util.Map<java.lang.String,java.lang.Object>` | `getCifData(int modelIndex)`
    `java.lang.String` | `getClipboardText()`
    `javajs.util.P3` | `getColorPointForPropertyValue(float val)`
    `java.lang.String` | `getCommands(java.util.Map<java.lang.String,javajs.util.BS> htDefine, java.util.Map<java.lang.String,javajs.util.BS> htMore, java.lang.String select)`
    `JmolAppConsoleInterface` | `getConsole()`
    `java.lang.String` | `getCoordinateState(javajs.util.BS bsSelected)`
    `float[]` | `getCurrentColorRange()`
    `java.lang.String` | `getCurrentFileAsString(java.lang.String state)`
    `java.util.Map<java.lang.String,java.lang.Object>` | `getCurrentModelAuxInfo()`
    `float` | `getCurrentSolventProbeRadius()`
    `SymmetryInterface` | `getCurrentUnitCell()`
    `int` | `getCursorX()`
    `int` | `getCursorY()`
    `java.lang.String` | `getData(java.lang.String atomExpression, java.lang.String type)`
    `private JmolDataManager` | `getDataManager()`
    `java.lang.Object` | `getDataObj(java.lang.String key, javajs.util.BS bsSelected, int dataType)` Retrieve a data object
    `(package private) java.lang.String` | `getDataSeparator()`
    `java.lang.String` | `getDefaultDirectory()`
    `javajs.util.P3` | `getDefaultLattice()`
    `java.lang.String` | `getDefaultMeasurementLabel(int nPoints)`
    `java.lang.String` | `getDefaultPropertyParam(int propertyID)`
    `java.lang.String` | `getDefaultVdwNameOrData(int mode, VDW type, javajs.util.BS bs)`
    `javajs.util.BS` | `getDefinedAtomSet(java.lang.String name)`
    `int` | `getDelayMaximumMs()`
    `java.lang.String` | `getDistanceUnits(java.lang.String s)`
    `(package private) boolean` | `getDragSelected()`
    `boolean` | `getDrawHover()`
    `javajs.util.BS` | `getElementsPresentBitSet(int modelIndex)`
    `java.lang.String` | `getErrorMessage()`
    `java.lang.String` | `getErrorMessageUn()`
    `ScriptContext` | `getEvalContextAndHoldQueue(JmolScriptEvaluator eval)`
    `java.lang.String` | `getExportDriverList()`
    `java.lang.String` | `getFileAsString(java.lang.String fileName)`
    `java.lang.String` | `getFileAsString3(java.lang.String name, boolean checkProtected, java.lang.String state)`
    `java.lang.String` | `getFileAsString4(java.lang.String name, int nBytesMax, boolean doSpecialLoad, boolean allowBinary, boolean checkProtected, java.lang.String state)`
    `(package private) java.lang.Object` | `getFileData()`
    `(package private) java.lang.String` | `getFileHeader()`
    `float` | `getFloat(int tok)`
    `Font` | `getFont3D(java.lang.String fontFace, java.lang.String fontStyle, float fontSize)`
    `javajs.util.BS` | `getFrameAtoms()`
    `java.lang.String` | `getFrameTitle()`
    `java.lang.String[]` | `getFullPathNameOrError(java.lang.String filename)`
    `JmolScriptFunction` | `getFunction(java.lang.String name)`
    `java.lang.String` | `getFunctionCalls(java.lang.String selectedFunction)`
    `java.util.Map<java.lang.String,JmolScriptFunction>` | `getFunctions(boolean isStatic)`
    `java.lang.Object` | `getGLmolView()` This method is only called by JmolGLmol applet._refresh();
    `javajs.util.BS` | `getGroupsWithin(int nResidues, javajs.util.BS bs)`
    `void` | `getHelp(java.lang.String what)`
    `int` | `getHermiteLevel()`
    `int` | `getHoverDelay()`
    `java.lang.String` | `getHybridizationAndAxes(int atomIndex, javajs.util.V3 z, javajs.util.V3 x, java.lang.String lcaoType)`
    `private java.lang.Object` | `getImage(boolean isDouble, boolean isImageWrite)`
    `byte[]` | `getImageAsBytes(java.lang.String type, int width, int height, int quality, java.lang.String[] errMsg)`
    `char` | `getInlineChar()`
    `boolean` | `getInMotion(boolean includeAnim)`
    `java.lang.String` | `getInsertedCommand()`
    `int` | `getInt(int tok)`
    `int` | `getIsosurfacePropertySmoothing(boolean asPower)`
    `BioResolver` | `getJBR()`
    `int` | `getJDXBaseModelIndex(int modelIndex)` get the model designated as "baseModel" in a JCamp-MOL file for example, the model used for bonding for an XYZVIB file or the model used as the base model for a mass spec file.
    `static java.lang.String` | `getJmolVersion()`
    `private javajs.util.JSJSONParser` | `getJSJSONParser()`
    `java.lang.Object` | `getJspecViewProperties(java.lang.Object myParam)`
    `(package private) JmolJSpecView` | `getJSV()`
    `javajs.api.GenericZipTools` | `getJzt()`
    `java.lang.Object` | `getLigandModel(java.lang.String id, java.lang.String prefix, java.lang.String suffix, java.lang.String terminator)` obtain CIF data for a ligand for purposes of adding hydrogens or for any other purpose in terms of saving a data set for a file in a state
    `java.lang.String` | `getLightingState()`
    `java.lang.String` | `getLocalUrl(java.lang.String fileName)`
    `java.lang.String` | `getLogFileName()`
    `java.lang.String` | `getMacro(java.lang.String key)` retrieve macros.json from the directory
    `short` | `getMadBond()`
    `int` | `getMeasurementCount()`
    `int[]` | `getMeasurementCountPlusIndices(int i)`
    `java.lang.String` | `getMeasurementInfoAsString()`
    `java.lang.String` | `getMeasurementStringValue(int i)`
    `java.lang.String` | `getMenu(java.lang.String type)`
    `java.lang.String` | `getMinimizationInfo()`
    `Minimizer` | `getMinimizer(boolean createNew)`
    `JmolAdapter` | `getModelAdapter()`
    `java.lang.String` | `getModelCml(javajs.util.BS bs, int nAtomsMax, boolean addBonds, boolean doTransform)`
    `javajs.util.V3` | `getModelDipole()`
    `java.lang.String` | `getModelExtract(java.lang.Object atomExpression, boolean doTransform, boolean isModelKit, java.lang.String type)` V3000, SDF, JSON, CD, XYZ, XYZVIB, XYZRN, CML, PDB, PQR
    `java.lang.String` | `getModelFileData(java.lang.String atomExpression, java.lang.String type, boolean allTrajectories)`
    `java.lang.String` | `getModelFileInfo()`
    `java.lang.String` | `getModelFileInfoAll()`
    `int` | `getModelFileNumber(int modelIndex)`
    `Model` | `getModelForAtomIndex(int iatom)`
    `int` | `getModelIndexFromId(java.lang.String id)`
    `java.lang.Object` | `getModelInfo(java.lang.String key)` get a value from the current model's Model.auxiliaryInfo
    `ModelKitPopup` | `getModelkit(boolean andShow)`
    `java.lang.Object` | `getModelkitProperty(java.lang.Object nameOrData)`
    `java.lang.String` | `getModelName(int modelIndex)`
    `int` | `getModelNumber(int modelIndex)`
    `java.lang.String` | `getModelNumberDotted(int modelIndex)`
    `java.util.Properties` | `getModelProperties(int modelIndex)`
    `java.util.Map<java.lang.String,java.lang.Object>` | `getModelSetAuxiliaryInfo()`
    `java.lang.String` | `getModelSetFileName()`
    `java.lang.String` | `getModelSetPathName()`
    `java.util.Properties` | `getModelSetProperties()`
    `javajs.util.BS` | `getModelUndeletedAtomsBitSet(int modelIndex)`
    `javajs.util.BS` | `getModelUndeletedAtomsBitSetBs(javajs.util.BS bsModels)`
    `int` | `getMotionEventNumber()`
    `javajs.util.BS` | `getMotionFixedAtoms()`
    `boolean` | `getMouseEnabled()`
    `java.lang.String` | `getNBOAtomLabel(Atom atom)`
    `private NBOParser` | `getNBOParser()`
    `JmolNMRInterface` | `getNMRCalculation()`
    `java.lang.String` | `getNMRPredict(java.lang.String type)`
    `short` | `getObjectColix(int objId)`
    `int` | `getObjectMad10(int objId)`
    `void` | `getObjectMap(java.util.Map<java.lang.String,?> map, char c)` used in autocompletion in console using TAB
    `java.lang.String` | `getOpenSmiles(javajs.util.BS bs)`
    `float[]` | `getOrCalcPartialCharges(javajs.util.BS bsSelected, javajs.util.BS bsIgnore)`
    `java.lang.Object` | `getOrientationText(int type, java.lang.String name, javajs.util.BS bs)`
    `javajs.util.OC` | `getOutputChannel(java.lang.String localName, java.lang.String[] fullPath)`
    `private OutputManager` | `getOutputManager()`
    `java.lang.Object` | `getP(java.lang.String key)`
    `java.lang.Object` | `getParameter(java.lang.String key)`
    `java.lang.String` | `getPdbAtomData(javajs.util.BS bs, javajs.util.OC out, boolean asPQR, boolean doTransform)`
    `java.lang.String` | `getPdbData(int modelIndex, java.lang.String type, javajs.util.BS bsAtoms, java.lang.Object[] parameters, javajs.util.OC oc, boolean getStructure)`
    `java.lang.String` | `getPdbID()`
    `MeasurementPending` | `getPendingMeasurement()`
    `int` | `getPickingMode()`
    `void` | `getPolymerPointsAndVectors(javajs.util.BS bs, javajs.util.Lst<javajs.util.P3[]> vList)`
    `private java.lang.Object` | `getPopupMenu()`
    `java.lang.Object` | `getPOrNull(java.lang.String key)`
    `boolean` | `getPreserveState()` This flag if set FALSE: 1) turns UNDO off for the application 2) turns history off 3) prevents saving of inlinedata for later LOAD "" commands 4) turns off the saving of changed atom properties 5) does not guarantee accurate state representation 6) disallows generation of the state It is useful in situations such as web sites where memory is an issue and there is no need for such.
    `java.lang.Object` | `getProperty(java.lang.String returnType, java.lang.String infoType, java.lang.Object paramInfo)`
    `private JmolPropertyManager` | `getPropertyManager()`
    `int` | `getPropertyNumber(java.lang.String name)`
    `char` | `getQuaternionFrame()`
    `boolean` | `getRefreshing()`
    `Rectangle` | `getRubberBandSelection()`
    `float` | `getScalePixelsPerAngstrom(boolean asAntialiased)`
    `int` | `getScreenDim()`
    `int` | `getScreenHeight()`
    `java.lang.Object` | `getScreenImageBuffer(java.lang.Object graphic, boolean isImageWrite)` Image.getJpgImage, ImageCreator.clipImage, getImageBytes, Viewer.renderScreenImageStereo
    `int` | `getScreenWidth()`
    `ScriptContext` | `getScriptContext(java.lang.String why)`
    `private JmolScriptManager` | `getScriptManager()`
    `java.lang.Boolean` | `getScriptQueueInfo()`
    `AtomIndexIterator` | `getSelectedAtomIterator(javajs.util.BS bsSelected, boolean isGreaterOnly, boolean modelZeroBased, boolean isMultiModel)`
    `boolean` | `getSelectionHalosEnabled()`
    `java.lang.String` | `getSetHistory(int howFarBack)` Options include: ; all n == Integer.MAX_VALUE ; n prev n >= 1 ; next n == -1 ; set max to -2 - n n <= -3 ; just clear n == -2 ; clear and turn off; return "" n == 0 ; clear and turn on; return "" n == Integer.MIN_VALUE;
    `java.lang.String` | `getShapeErrorState()`
    `java.lang.Object` | `getShapeProperty(int shapeType, java.lang.String propertyName)`
    `private int` | `getShapePropertyAsInt(int shapeID, java.lang.String propertyName)`
    `boolean` | `getShowAxes()`
    `boolean` | `getShowBbcage()`
    `boolean` | `getShowFrank()`
    `boolean` | `getShowNavigationPoint()`
    `boolean` | `getShowSelectedOnce()`
    `boolean` | `getShowUnitCell()`
    `int[][]` | `getSmartsMap(java.lang.String smarts, javajs.util.BS bsSelected)`
    `javajs.util.BS` | `getSmartsMatch(java.lang.String smarts, javajs.util.BS bsSelected)`
    `javajs.util.BS` | `getSmartsMatchForNodes(java.lang.String smarts, Node[] atoms)`
    `java.lang.String` | `getSmiles(javajs.util.BS bs)`
    `Node[]` | `getSmilesAtoms(java.lang.String smiles)`
    `SmilesMatcherInterface` | `getSmilesMatcher()`
    `java.lang.String` | `getSmilesOpt(javajs.util.BS bsSelected, int index1, int index2, int flags, java.lang.String options)` returns the SMILES string for a sequence or atom set does not include attached protons on groups
    `java.lang.String` | `getSpinState()`
    `java.lang.String` | `getStandardLabelFormat(int type)`
    `JmolStateCreator` | `getStateCreator()`
    `java.lang.String` | `getStateInfo()`
    `java.lang.String` | `getStateInfo3(java.lang.String type, int width, int height)`
    `javajs.util.Lst<javajs.util.Lst<javajs.util.Lst<java.lang.Object>>>` | `getStatusChanged(java.lang.String statusNameList)`
    `int` | `getStrandCount(int type)`
    `java.util.Map<STR,float[]>` | `getStructureList()`
    `java.lang.String` | `getStructureState()`
    `javajs.util.BS[]` | `getSubstructureSetArray(java.lang.String pattern, javajs.util.BS bsSelected, int flags)`
    `javajs.util.BS[]` | `getSubstructureSetArrayForNodes(java.lang.String pattern, Node[] nodes, int flags)`
    `java.lang.Object` | `getSymmetryInfo(int iatom, java.lang.String xyz, int iOp, javajs.util.P3 pt1, javajs.util.P3 pt2, int type, java.lang.String desc, float scaleFactor, int nth, int options)` A general method for retrieving symmetry information with full capability of the symop() scripting function.
    `SymmetryInterface` | `getSymTemp()` Retrieve a Symmetry object, possibly re-using an old one.
    `java.lang.String` | `getTrajectoryState()`
    `Triangulator` | `getTriangulator()`
    `private javajs.util.BS` | `getUndeletedGroupAtomBits(javajs.util.BS bs)`
    `float` | `getUnitCellInfo(int infoType)`
    `java.lang.String` | `getUnitCellInfoText()`
    `javajs.util.T3[]` | `getV0abc(java.lang.Object def)` convert string abc;offset or M3 or M4 to origin and three vectors -- a, b, c.
    `int` | `getVanderwaalsMar(int i)`
    `int` | `getVanderwaalsMarType(int atomicAndIsotopeNumber, VDW type)`
    `javajs.util.BS` | `getVisibleFramesBitSet()`
    `java.lang.String` | `getWrappedStateScript()`
    `java.lang.String` | `getZapName()`
    `void` | `haltScriptExecution()`
    `void` | `handleError(java.lang.Error er, boolean doClear)`
    `static boolean` | `hasDatabasePrefix(java.lang.String fileName)`
    `boolean` | `hasFocus()`
    `boolean` | `haveAccess(Viewer.ACCESS a)`
    `boolean` | `haveFileSet()`
    `void` | `highlight(javajs.util.BS bs)`
    `void` | `highlightBond(int index, int closestAtomIndex, int x, int y)` from Sticks
    `java.lang.String` | `historyFind(java.lang.String cmd, int dir)`
    `void` | `homePosition()`
    `(package private) void` | `hoverOff()`
    `(package private) void` | `hoverOn(int atomIndex, boolean isLabel)`
    `void` | `hoverOnPt(int x, int y, java.lang.String text, java.lang.String id, javajs.util.T3 pt)` Hover over an arbitrary point.
    `void` | `initialize(boolean clearUserVariables, boolean isPyMOL)`
    `JmolRendererInterface` | `initializeExporter(java.util.Map<java.lang.String,java.lang.Object> params)`
    `private void` | `initializeModel(boolean isAppend)`
    `void` | `invertAtomCoordPlane(javajs.util.P4 plane, javajs.util.BS bs)`
    `void` | `invertAtomCoordPt(javajs.util.P3 pt, javajs.util.BS bs)`
    `void` | `invertRingAt(int atomIndex, boolean isClick)`
    `void` | `invertSelected(javajs.util.P3 pt, javajs.util.P4 plane, int iAtom, javajs.util.BS bsAtoms)`
    `boolean` | `isBound(int mouseAction, int jmolAction)`
    `static boolean` | `isDatabaseCode(char ch)`
    `boolean` | `isFunction(java.lang.String name)`
    `boolean` | `isJmolDataFrame()`
    `(package private) boolean` | `isKiosk()`
    `boolean` | `isModelPDB(int i)`
    `boolean` | `isParallel()`
    `boolean` | `isRepaintPending()`
    `boolean` | `isScriptExecuting()`
    `private boolean` | `isScriptQueued()`
    `private static boolean` | `isStaticFunction(java.lang.String name)`
    `private void` | `jmolTest()`
    `java.lang.String` | `jsEval(java.lang.String strEval)`
    `SV` | `jsEvalSV(java.lang.String strEval)`
    `private java.lang.String` | `loadAtomDataAndReturnError(java.lang.Object atomSetCollection, int tokType)` or just apply the data to the current model set
    `boolean` | `loadImageData(java.lang.Object image, java.lang.String nameOrError, java.lang.String echoName, ScriptContext sc)` NOTE: This method is called from within a j2sNative block in awtjs2d.Platform.java as well as from FileManager.loadImage
    `java.lang.String` | `loadInline(java.util.List<java.lang.Object> arrayData, boolean isAppend)` External applications only; does not preserve state -- intentionally!
    `java.lang.String` | `loadInline(java.lang.String strModel)` from Applet and external applications only
    `java.lang.String` | `loadInline(java.lang.String[] arrayModels)` external apps only
    `java.lang.String` | `loadInline(java.lang.String[] arrayModels, boolean isAppend)` external apps and applet only
    `java.lang.String` | `loadInline(java.lang.String strModel, char newLine)` external apps only
    `java.lang.String` | `loadInlineAppend(java.lang.String strModel, boolean isAppend)` used by applet and console
    `private java.lang.String` | `loadInlineScript(java.lang.String strModel, char newLine, boolean isAppend, java.util.Map<java.lang.String,java.lang.Object> htParams)` used by loadInline and openFileFull
    `private java.lang.String` | `loadInlineScriptRepaint(java.lang.String strModel, char newLine, boolean isAppend)`
    `java.lang.String` | `loadModelFromFile(java.lang.String fullPathName, java.lang.String fileName, java.lang.String[] fileNames, java.lang.Object reader, boolean isAppend, java.util.Map<java.lang.String,java.lang.Object> htParams, javajs.util.SB loadScript, javajs.util.SB sOptions, int tokType, java.lang.String filecat)` Used by the ScriptEvaluator LOAD command to open one or more files.
    `private java.lang.String` | `loadModelFromFileRepaint(java.lang.String fullPathName, java.lang.String fileName, java.lang.String[] fileNames, java.lang.Object reader)` for JmolSimpleViewer -- external applications only (and no-script JavaScript)
    `void` | `log(java.lang.String data)`
    `int[]` | `makeConnections(float minDistance, float maxDistance, int order, int connectOperation, javajs.util.BS bsA, javajs.util.BS bsB, javajs.util.BS bsBonds, boolean isBonds, boolean addGroup, float energy)`
    `boolean` | `menuEnabled()`
    `void` | `minimize(JmolScriptEvaluator eval, int steps, float crit, javajs.util.BS bsSelected, javajs.util.BS bsFixed, float rangeFixed, boolean addHydrogen, boolean isOnly, boolean isSilent, boolean isLoad2D)`
    `boolean` | `modelHasVibrationVectors(int modelIndex)`
    `void` | `move(JmolScriptEvaluator eval, javajs.util.V3 dRot, float dZoom, javajs.util.V3 dTrans, float dSlab, float floatSecondsTotal, int fps)`
    `void` | `moveAtoms(javajs.util.M4 m4, javajs.util.M3 mNew, javajs.util.M3 rotation, javajs.util.V3 translation, javajs.util.P3 center, boolean isInternal, javajs.util.BS bsAtoms, boolean translationOnly)`
    `protected void` | `moveAtomWithHydrogens(int atomIndex, int deltaX, int deltaY, int deltaZ, javajs.util.BS bsAtoms)`
    `void` | `moveSelected(int deltaX, int deltaY, int deltaZ, int x, int y, javajs.util.BS bsSelected, boolean isTranslation, boolean asAtoms, int modifiers)`
    `void` | `moveTo(JmolScriptEvaluator eval, float floatSecondsTotal, javajs.util.P3 center, javajs.util.V3 rotAxis, float degrees, javajs.util.M3 rotationMatrix, float zoom, float xTrans, float yTrans, float rotationRadius, javajs.util.P3 navCenter, float xNav, float yNav, float navDepth, float cameraDepth, float cameraX, float cameraY)`
    `void` | `moveUpdate(float floatSecondsTotal)`
    `(package private) void` | `navigate(int keyWhere, int modifiers)`
    `void` | `navigateAxis(javajs.util.V3 rotAxis, float degrees)`
    `void` | `navigatePt(javajs.util.P3 center)`
    `void` | `navTranslatePercent(float x, float y)`
    `MeasurementData` | `newMeasurementData(java.lang.String id, javajs.util.Lst<java.lang.Object> points)`
    `void` | `notifyError(java.lang.String errType, java.lang.String errMsg, java.lang.String errMsgUntranslated)`
    `void` | `notifyMinimizationStatus()`
    `int` | `notifyMouseClicked(int x, int y, int action, int mode)`
    `void` | `notifyScriptEditor(int msWalltime, java.lang.Object[] data)`
    `void` | `notifyStatusReady(boolean isReady)`
    `void` | `notifyViewerRepaintDone()`
    `java.lang.String` | `openDOM(java.lang.Object DOMNode)` applet DOM method -- does not preserve state
    `javajs.util.OC` | `openExportChannel(double privateKey, java.lang.String fileName, boolean asWriter)`
    `java.lang.String` | `openFile(java.lang.String fileName)` for JmolSimpleViewer -- external applications only (and no-script JavaScript)
    `void` | `openFileAsyncSpecial(java.lang.String fileName, int flags)` opens a file as a model, a script, or a surface via the creation of a script that is queued \t at the beginning disallows script option - used by JmolFileDropper and JmolPanel file-open actions - sets up a script to load the file.
    `private java.lang.Object` | `openFileFull(java.lang.String fileName, boolean isAppend, java.util.Map<java.lang.String,java.lang.Object> htParams, javajs.util.SB loadScript)` does NOT repaint
    `java.lang.String` | `openFiles(java.lang.String[] fileNames)` for JmolSimpleViewer -- external applications only
    `java.lang.String` | `openReader(java.lang.String fullPathName, java.lang.String fileName, java.lang.Object reader)` Opens the file, given an already-created reader.
    `java.lang.String` | `openStringInline(java.lang.String strModel)` only used by file dropper.
    `java.lang.String` | `openStringInlineParamsAppend(java.lang.String strModel, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)` Only used for adding hydrogen atoms and adding the model kit methane model; not part of the public interface.
    `private java.lang.String` | `openStringsInlineParamsAppend(java.lang.String[] arrayModels, java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)` opens multiple files inline; does NOT repaint
    `java.lang.String` | `outputToFile(java.util.Map<java.lang.String,java.lang.Object> params)`
    `java.lang.Object` | `parseJSON(java.lang.String str)`
    `javajs.util.Lst<java.lang.Object>` | `parseJSONArray(java.lang.String jsonArray)`
    `java.util.Map<java.lang.String,java.lang.Object>` | `parseJSONMap(java.lang.String jsonMap)`
    `void` | `pauseScriptExecution()`
    `void` | `popHoldRepaint(java.lang.String why)`
    `void` | `popState()`
    `(package private) void` | `popupMenu(int x, int y, char type)`
    `boolean` | `processMouseEvent(int id, int x, int y, int modifiers, long time)`
    `void` | `processTwoPointGesture(float[][][] touches)`
    `java.lang.String` | `processWriteOrCapture(java.util.Map<java.lang.String,java.lang.Object> params)` from eval write command only includes option to write set of files
    `java.lang.String` | `prompt(java.lang.String label, java.lang.String data, java.lang.String[] list, boolean asButtons)`
    `void` | `pushHoldRepaint()`
    `void` | `pushHoldRepaintWhy(java.lang.String why)`
    `void` | `pushState()`
    `java.util.Map<java.lang.String,java.lang.Object>` | `readCifData(java.lang.String fileName, java.lang.Object rdrOrStringData, java.lang.String type)`
    `java.util.Map<java.lang.String,java.lang.Object>` | `readCifData(java.lang.String fileName, java.lang.String type)`
    `void` | `rebond()`
    `void` | `rebondState(boolean isStateScript)`
    `void` | `refresh(int mode, java.lang.String strWhy)` initiate a repaint/update sequence if it has not already been requested.
    `void` | `refreshMeasures(boolean andStopMinimization)`
    `void` | `releaseScreenImage()`
    `java.lang.String` | `removeCommand()` Removes one command from the command history
    `void` | `removeFunction(java.lang.String name)`
    `void` | `removeSelectionListener(JmolSelectionListener listener)`
    `void` | `removeUserVariable(java.lang.String key)`
    `private void` | `render()`
    `void` | `renderScreenImage(java.lang.Object g, int width, int height)` JmolViewer interface uses this, but that is all
    `void` | `renderScreenImageStereo(java.lang.Object gLeft, boolean checkStereoSlave, int width, int height)`
    `(package private) void` | `reportSelection(java.lang.String msg)`
    `void` | `requestRepaintAndWait(java.lang.String why)`
    `void` | `reset(boolean includingSpin)`
    `void` | `resetShapes(boolean andCreateNew)`
    `(package private) void` | `resizeImage(int width, int height, boolean isImageWrite, boolean isExport, boolean isReset)`
    `int[]` | `resizeInnerPanel(int width, int height)`
    `(package private) java.lang.String` | `resolveDatabaseFormat(java.lang.String fileName)`
    `(package private) void` | `restoreModelOrientation(int modelIndex)`
    `(package private) void` | `restoreModelRotation(int modelIndex)`
    `boolean` | `rotateAboutPointsInternal(JmolScriptEvaluator eval, javajs.util.P3 point1, javajs.util.P3 point2, float degreesPerSecond, float endDegrees, boolean isSpin, javajs.util.BS bsSelected, javajs.util.V3 translation, javajs.util.Lst<javajs.util.P3> finalPoints, float[] dihedralList, javajs.util.M4 m4)`
    `boolean` | `rotateAxisAngleAtCenter(JmolScriptEvaluator eval, javajs.util.P3 rotCenter, javajs.util.V3 rotAxis, float degreesPerSecond, float endDegrees, boolean isSpin, javajs.util.BS bsSelected)`
    `void` | `rotateFront()`
    `(package private) void` | `rotateSelected(float deltaX, float deltaY, javajs.util.BS bsSelected)`
    `(package private) void` | `rotateXYBy(float degX, float degY)`
    `void` | `rotateZBy(int zDelta, int x, int y)`
    `java.lang.String` | `runScript(java.lang.String script)` Run a script using the script function script("xxxxxx") using direct script tokens for script ( "xxxxxxx" )
    `java.lang.String` | `runScriptCautiously(java.lang.String script)` formerly runScript(), this method really can ONLY be called by the viewer being run from an already-running script.
    `(package private) void` | `saveModelOrientation()`
    `java.lang.String` | `script(java.lang.String strScript)`
    `java.lang.Object` | `scriptCheck(java.lang.String strScript)`
    `private java.lang.Object` | `scriptCheckRet(java.lang.String strScript, boolean returnContext)`
    `void` | `scriptEcho(java.lang.String strEcho)`
    `void` | `scriptStatus(java.lang.String strStatus)`
    `void` | `scriptStatusMsg(java.lang.String strStatus, java.lang.String statusMessage)`
    `java.lang.String` | `scriptWait(java.lang.String strScript)`
    `java.lang.Object` | `scriptWaitStatus(java.lang.String strScript, java.lang.String statusList)`
    `void` | `select(javajs.util.BS bs, boolean isGroup, int addRemove, boolean isQuiet)`
    `void` | `selectAll()`
    `void` | `selectBonds(javajs.util.BS bs)`
    `void` | `sendConsoleMessage(java.lang.String msg)`
    `void` | `setAnimation(int tok)`
    `void` | `setAnimationFps(int fps)`
    `private void` | `setAnimationMode(java.lang.String mode)`
    `void` | `setAnimationOn(boolean animationOn)`
    `void` | `setAnimationRange(int modelIndex1, int modelIndex2)`
    `void` | `setAnimDisplay(javajs.util.BS bs)`
    `private void` | `setAntialias(int tok, boolean TF)`
    `(package private) void` | `setApplySymmetryToBonds(boolean TF)`
    `void` | `setAtomCoords(javajs.util.BS bs, int tokType, java.lang.Object xyzValues)`
    `void` | `setAtomCoordsRelative(javajs.util.T3 offset, javajs.util.BS bs)`
    `void` | `setAtomData(int type, java.lang.String name, java.lang.String coordinateData, boolean isDefault)`
    `void` | `setAtomProperty(javajs.util.BS bs, int tok, int iValue, float fValue, java.lang.String sValue, float[] values, java.lang.String[] list)`
    `void` | `setAutoBond(boolean TF)`
    `(package private) void` | `setAxesMode(int mode)`
    `void` | `setAxesOrientationRasmol(boolean TF)`
    `private void` | `setAxesScale(int tok, float val)`
    `void` | `setBackgroundImage(java.lang.String fileName, java.lang.Object image)`
    `void` | `setBackgroundModelIndex(int modelIndex)`
    `void` | `setBondTolerance(float bondTolerance)`
    `void` | `setBooleanProperty(java.lang.String key, boolean value)`
    `private void` | `setBooleanPropertyTok(java.lang.String key, int tok, boolean value)`
    `void` | `setCenterBitSet(javajs.util.BS bsCenter, boolean doScale)`
    `void` | `setCenterSelected()`
    `void` | `setCGO(javajs.util.Lst<java.lang.Object> info)`
    `void` | `setColorBackground(java.lang.String colorName)`
    `void` | `setCurrentCage(java.lang.String isosurfaceId)`
    `void` | `setCurrentColorRange(java.lang.String label)`
    `void` | `setCurrentModelID(java.lang.String id)`
    `void` | `setCurrentModelIndex(int modelIndex)`
    `void` | `setCurrentModelIndexClear(int modelIndex, boolean clearBackground)`
    `void` | `setCursor(int cursor)`
    `void` | `setData(java.lang.String key, java.lang.Object[] data, int dataType, int matchField, int matchFieldColumnCount, int dataField, int dataFieldColumnCount)` A general-purpose data storage method.
    `void` | `setDebugScript(boolean debugScript)`
    `private void` | `setDefaultColors(boolean isRasmol)`
    `void` | `setDefaultLattice(javajs.util.P3 p)`
    `private void` | `setDefaultsType(java.lang.String type)`
    `void` | `setDihedrals(float[] dihedralList, javajs.util.BS[] bsBranches, float rate)`
    `void` | `setDisplay(java.lang.Object canvas)`
    `void` | `setElementArgb(int elementNumber, int argb)`
    `java.lang.String` | `setErrorMessage(java.lang.String errMsg, java.lang.String errMsgUntranslated)`
    `private void` | `setFileLoadStatus(FIL ptLoad, java.lang.String fullPathName, java.lang.String fileName, java.lang.String modelName, java.lang.String strError, java.lang.Boolean isAsync)`
    `void` | `setFloatProperty(java.lang.String key, float value)`
    `private void` | `setFloatPropertyTok(java.lang.String key, int tok, float value)`
    `void` | `setFocus()`
    `void` | `setFrameDelayMs(long millis)`
    `void` | `setFrameOffsets(javajs.util.BS bsAtoms, boolean isFull)`
    `void` | `setFrameTitle(int modelIndex, java.lang.String title)`
    `void` | `setFrameTitleObj(java.lang.Object title)`
    `(package private) void` | `setFrameVariables()`
    `void` | `setFrankOn(boolean TF)`
    `void` | `setHistory(java.lang.String fileName)`
    `private void` | `setHoverEnabled(boolean tf)`
    `void` | `setHoverLabel(java.lang.String strLabel)`
    `void` | `setInMotion(boolean inMotion)`
    `void` | `setInsertedCommand(java.lang.String strScript)`
    `void` | `setIntProperty(java.lang.String key, int value)`
    `private void` | `setIntPropertyTok(java.lang.String key, int tok, int value)`
    `void` | `setIteratorForAtom(AtomIndexIterator iterator, int atomIndex, float distance)`
    `void` | `setIteratorForPoint(AtomIndexIterator iterator, int modelIndex, javajs.util.T3 pt, float distance)`
    `void` | `setJmolCallbackListener(JmolCallbackListener listener)`
    `void` | `setJmolDefaults()`
    `void` | `setJmolStatusListener(JmolStatusListener listener)`
    `void` | `setLigandModel(java.lang.String key, java.lang.String data)`
    `java.lang.Object` | `setLoadFormat(java.lang.String name, char type, boolean withPrefix)` Jmol will either specify a type or look for it in the first character, making sure it is found using isDatabaseCode() first.
    `java.util.Map<java.lang.String,java.lang.Object>` | `setLoadParameters(java.util.Map<java.lang.String,java.lang.Object> htParams, boolean isAppend)`
    `void` | `setMarBond(short marBond)`
    `private void` | `setMaximumSize(int x)`
    `void` | `setMenu(java.lang.String fileOrText, boolean isFile)`
    `void` | `setMeshCreator(java.lang.Object meshCreator)` an external applet or app with class that extends org.jmol.jvxl.MeshCreator might execute: org.jmol.viewer.Viewer vwr = applet.getViewer(); vwr.setMeshCreator(this); then that class's updateMesh(String id) method will be called whenever a mesh is rendered.
    `void` | `setMinBondDistance(float minBondDistance)`
    `private void` | `setModelKitMode(boolean value)`
    `java.lang.Object` | `setModelkitProperty(java.lang.String key, java.lang.Object value)`
    `void` | `setModelKitRotateBondIndex(int i)`
    `void` | `setModelSet(ModelSet modelSet)`
    `void` | `setModelVisibility()`
    `void` | `setModulation(javajs.util.BS bs, boolean isOn, javajs.util.P3 t1, boolean isQ)`
    `void` | `setMotionFixedAtoms(javajs.util.BS bs)`
    `private javajs.util.BS` | `setMovableBitSet(javajs.util.BS bsSelected, boolean checkMolecule)`
    `void` | `setNavigationDepthPercent(float percent)`
    `void` | `setNavigationMode(boolean TF)`
    `void` | `setNewRotationCenter(javajs.util.P3 center)`
    `void` | `setObjectArgb(java.lang.String name, int argb)`
    `(package private) void` | `setObjectColor(java.lang.String name, java.lang.String colorName)`
    `void` | `setObjectMad10(int iShape, java.lang.String name, int mad10)` input here is a JC.SHAPE_xxxx identifier
    `java.lang.String` | `setObjectProp(java.lang.String id, int tokCommand)`
    `void` | `setObjectVisibility(java.lang.String name, boolean b)`
    `void` | `setOptions(java.util.Map<java.lang.String,java.lang.Object> info)`
    `boolean` | `setParallel(boolean TF)`
    `(package private) void` | `setPendingMeasurement(MeasurementPending mp)`
    `void` | `setPercentVdwAtom(int value)`
    `void` | `setPerspectiveDepth(boolean perspectiveDepth)`
    `void` | `setPicked(int atomIndex, boolean andReset)`
    `(package private) void` | `setPickingMode(java.lang.String strMode, int pickingMode)`
    `(package private) void` | `setPickingStyle(java.lang.String style, int pickingStyle)`
    `void` | `setPropertyColorScheme(java.lang.String scheme, boolean isTranslucent, boolean isOverloaded)`
    `void` | `setProteinType(STR type, javajs.util.BS bs)`
    `void` | `setRasmolDefaults()`
    `private void` | `setRefreshing(boolean TF)`
    `void` | `setRotateBondIndex(int i)`
    `void` | `setRotationRadius(float angstroms, boolean doAll)`
    `void` | `setScreenDimension(int width, int height)`
    `private void` | `setScriptQueue(boolean TF)`
    `void` | `setScriptStatus(java.lang.String strStatus, java.lang.String statusMessage, int msWalltime, java.lang.String strErrorMessageUntranslated)`
    `void` | `setSelectionHalosEnabled(boolean TF)`
    `void` | `setSelectionSet(javajs.util.BS set)`
    `void` | `setShapeErrorState(int shapeID, java.lang.String state)`
    `void` | `setShapeProperty(int shapeID, java.lang.String propertyName, java.lang.Object value)`
    `void` | `setShapeSize(int shapeID, int madOrMad10, javajs.util.BS bsSelected)`
    `void` | `setShowAxes(boolean value)`
    `void` | `setShowBbcage(boolean value)`
    `void` | `setShowHydrogens(boolean TF)`
    `void` | `setShowMeasurements(boolean TF)`
    `void` | `setShowUnitCell(boolean value)`
    `void` | `setSmilesString(java.lang.String s)`
    `void` | `setSpin(java.lang.String key, int value)`
    `private void` | `setStartupBooleans()`
    `void` | `setStatusAtomPicked(int atomIndex, java.lang.String info, java.util.Map<java.lang.String,java.lang.Object> map, boolean andSelect)`
    `boolean` | `setStatusDragDropped(int mode, int x, int y, java.lang.String fileName)`
    `(package private) void` | `setStatusFrameChanged(boolean isVib, boolean doNotify)`
    `void` | `setStatusMeasuring(java.lang.String status, int intInfo, java.lang.String strMeasure, float value)`
    `void` | `setStatusResized(int width, int height)`
    `void` | `setStereo(boolean isStereoSlave, java.lang.Object gRight)`
    `void` | `setStereoMode(int[] twoColors, STER stereoMode, float degrees)`
    `private void` | `setStrandCount(int type, int value)`
    `void` | `setStringProperty(java.lang.String key, java.lang.String value)`
    `private void` | `setStringPropertyTok(java.lang.String key, int tok, java.lang.String value)`
    `void` | `setStructureList(float[] list, STR type)`
    `private void` | `setSync()`
    `void` | `setSyncDriver(int mode)`
    `private void` | `setSyncTarget(int mode, boolean TF)`
    `void` | `setTainted(boolean TF)`
    `void` | `setTimeout(java.lang.String name, int mSec, java.lang.String script)`
    `void` | `setUnits(java.lang.String units, boolean isDistance)`
    `(package private) void` | `setUserVdw(VDW mode)`
    `(package private) void` | `setVdwStr(java.lang.String name)`
    `void` | `setVectorScale(float scale)`
    `void` | `setVibrationPeriod(float period)`
    `void` | `setVibrationScale(float scale)`
    `void` | `setWidthHeightVar()`
    `void` | `setWindowDimensions(float[] dims)`
    `void` | `showConsole(boolean showConsole)`
    `void` | `showEditor(java.lang.String[] file_text)`
    `void` | `showParameter(java.lang.String key, boolean ifNotSet, int nMax)`
    `void` | `showString(java.lang.String str, boolean isPrint)`
    `java.lang.String` | `showTimeout(java.lang.String name)`
    `void` | `showUrl(java.lang.String urlString)`
    `(package private) void` | `slabByPixels(int pixels)`
    `(package private) void` | `slabDepthByPixels(int pixels)`
    `void` | `spinXYBy(int xDelta, int yDelta, float speed)`
    `void` | `startHoverWatcher(boolean tf)`
    `void` | `startNBO(java.lang.String options)`
    `void` | `startPlugin(java.lang.String plugin)` startup -U nbo option
    `void` | `startSpinningAxis(javajs.util.T3 pt1, javajs.util.T3 pt2, boolean isClockwise)`
    `(package private) void` | `stopMinimization()`
    `void` | `syncScript(java.lang.String script, java.lang.String applet, int port)`
    `void` | `toCartesian(javajs.util.T3 pt, boolean ignoreOffset)` absolute or relative to origin of UNITCELL {x y z}
    `void` | `toFractional(javajs.util.T3 pt, boolean ignoreOffset)`
    `void` | `toUnitCell(javajs.util.P3 pt, javajs.util.P3 offset)` relative to origin without regard to UNITCELL {x y z}
    `void` | `translate(char xyz, float x, char type, javajs.util.BS bsAtoms)`
    `void` | `translateXYBy(int xDelta, int yDelta)`
    `void` | `triggerTimeout(java.lang.String name)`
    `void` | `unBindAction(java.lang.String desc, java.lang.String name)`
    `(package private) void` | `undoClear()`
    `void` | `undoMoveAction(int action, int n)`
    `void` | `undoMoveActionClear(int taintedAtom, int type, boolean clearRedo)`
    `void` | `unsetProperty(java.lang.String key)`
    `void` | `updateJS()` for JavaScript only
    `private void` | `updateJSView(int imodel, int iatom)` File has been loaded or model has been changed or atom picked.
    `private boolean` | `updateWindow(int width, int height)`
    `boolean` | `useMinimizationThread()`
    `java.lang.String` | `writeFileData(java.lang.String fileName, java.lang.String type, int modelIndex, java.lang.Object[] parameters)`
    `java.lang.String` | `writeTextFile(java.lang.String fileName, java.lang.String data)`
    `void` | `zap(boolean notify, boolean resetUndo, boolean zapModelKit)`
    `private void` | `zapMsg(java.lang.String msg)`
    `(package private) void` | `zoomBy(int pixels)`
    `(package private) void` | `zoomByFactor(float factor, int x, int y)`

    - ### Methods inherited from class org.jmol.api.JmolViewer

      `allocateViewer, allocateViewer, openFileAsync, openReader, renderScreenImage, setConsole`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### testAsync

          public boolean testAsync

    - #### autoExit

          public boolean autoExit

    - #### haveDisplay

          public boolean haveDisplay

    - #### isJS

          public static boolean isJS

    - #### isJSNoAWT

          public static boolean isJSNoAWT

    - #### isSwingJS

          public static boolean isSwingJS

    - #### isWebGL

          public static boolean isWebGL

    - #### isSingleThreaded

          public boolean isSingleThreaded

    - #### queueOnHold

          public boolean queueOnHold

    - #### fullName

          public java.lang.String fullName

    - #### appletDocumentBase

          public static java.lang.String appletDocumentBase

    - #### appletCodeBase

          public static java.lang.String appletCodeBase

    - #### appletIdiomaBase

          public static java.lang.String appletIdiomaBase

    - #### jsDocumentBase

          public static java.lang.String jsDocumentBase

    - #### compiler

          public java.lang.Object compiler

    - #### definedAtomSets

          public java.util.Map<java.lang.String,java.lang.Object> definedAtomSets

    - #### ms

          public ModelSet ms

    - #### fm

          public FileManager fm

    - #### isApplet

          public boolean isApplet

    - #### isJNLP

          public boolean isJNLP

    - #### isSyntaxAndFileCheck

          public boolean isSyntaxAndFileCheck

    - #### isSyntaxCheck

          public boolean isSyntaxCheck

    - #### listCommands

          public boolean listCommands

    - #### mustRender

          boolean mustRender

    - #### htmlName

          public java.lang.String htmlName

    - #### appletName

          public java.lang.String appletName

    - #### tryPt

          public int tryPt

    - #### insertedCommand

          private java.lang.String insertedCommand

    - #### gdata

          public GData gdata

    - #### html5Applet

          public JSmolAppletObject html5Applet

    - #### jmolObject

          public static JmolToJSmolInterface jmolObject

    - #### acm

          public ActionManager acm

    - #### am

          public AnimationManager am

    - #### cm

          public ColorManager cm

    - #### dm

          JmolDataManager dm

    - #### shm

          public ShapeManager shm

    - #### slm

          public SelectionManager slm

    - #### rm

          JmolRepaintManager rm

    - #### g

          public GlobalSettings g

    - #### sm

          public StatusManager sm

    - #### tm

          public TransformManager tm

    - #### strJavaVendor

          public static java.lang.String strJavaVendor

    - #### strOSName

          public static java.lang.String strOSName

    - #### strJavaVersion

          public static java.lang.String strJavaVersion

    - #### syncId

          java.lang.String syncId

    - #### logFilePath

          java.lang.String logFilePath

    - #### allowScripting

          private boolean allowScripting

    - #### isPrintOnly

          public boolean isPrintOnly

    - #### isSignedApplet

          public boolean isSignedApplet

    - #### isSignedAppletLocal

          private boolean isSignedAppletLocal

    - #### isSilent

          private boolean isSilent

    - #### multiTouch

          private boolean multiTouch

    - #### noGraphicsAllowed

          public boolean noGraphicsAllowed

    - #### useCommandThread

          private boolean useCommandThread

    - #### commandOptions

          private java.lang.String commandOptions

    - #### vwrOptions

          public java.util.Map<java.lang.String,java.lang.Object> vwrOptions

    - #### display

          public java.lang.Object display

    - #### modelAdapter

          private JmolAdapter modelAdapter

    - #### access

          private Viewer.ACCESS access

    - #### commandHistory

          private CommandHistory commandHistory

    - #### mm

          public ModelManager mm

    - #### stm

          public StateManager stm

    - #### scm

          private JmolScriptManager scm

    - #### eval

          public JmolScriptEvaluator eval

    - #### tempArray

          private TempArray tempArray

    - #### allowArrayDotNotation

          public boolean allowArrayDotNotation

    - #### async

          public boolean async

    - #### executor

          public java.lang.Object executor

    - #### version_date

          private static java.lang.String version_date

    - #### screenWidth

          int screenWidth

    - #### screenHeight

          int screenHeight

    - #### actionStates

          final javajs.util.Lst<java.lang.String> actionStates

    - #### actionStatesRedo

          final javajs.util.Lst<java.lang.String> actionStatesRedo

    - #### defaultVdw

          VDW defaultVdw

    - #### rd

          public RadiusData rd

    - #### chainMap

          public java.util.Map<java.lang.Object,java.lang.Object> chainMap

    - #### chainList

          private javajs.util.Lst<java.lang.String> chainList

    - #### errorMessage

          private java.lang.String errorMessage

    - #### errorMessageUntranslated

          private java.lang.String errorMessageUntranslated

    - #### privateKey

          private double privateKey

    - #### dataOnly

          private boolean dataOnly

    - #### isPreviewOnly

          public boolean isPreviewOnly

    - #### headless

          public boolean headless

      determined by GraphicsEnvironment.isHeadless() from java -Djava.awt.headless=true disables command threading disables DELAY, TIMEOUT, PAUSE, LOOP, GOTO, SPIN , ANIMATION ON turns SPIN into just ROTATE

    - #### movableBitSet

          public javajs.util.BS movableBitSet

    - #### mouse

          private GenericMouseInterface mouse

      either org.jmol.awt.Mouse or org.jmol.awtjs2d.Mouse

    - #### ligandModels

          java.util.Map<java.lang.String,java.lang.Object> ligandModels

    - #### ligandModelSet

          java.util.Map<java.lang.String,java.lang.Boolean> ligandModelSet

    - #### annotationParser

          private JmolAnnotationParser annotationParser

    - #### dssrParser

          private JmolAnnotationParser dssrParser

    - #### minimizer

          private Minimizer minimizer

    - #### smilesMatcher

          private SmilesMatcherInterface smilesMatcher

    - #### jsc

          JmolStateCreator jsc

    - #### lastData

          private java.lang.Object[] lastData

    - #### motionEventNumber

          private int motionEventNumber

    - #### inMotion

          private boolean inMotion

    - #### refreshing

          private boolean refreshing

    - #### REFRESH_REPAINT

          public static final int REFRESH_REPAINT

      See Also:
        Constant Field Values

    - #### REFRESH_SYNC

          public static final int REFRESH_SYNC

      See Also:
        Constant Field Values

    - #### REFRESH_SYNC_MASK

          public static final int REFRESH_SYNC_MASK

      See Also:
        Constant Field Values

    - #### REFRESH_REPAINT_NO_MOTION_ONLY

          public static final int REFRESH_REPAINT_NO_MOTION_ONLY

      See Also:
        Constant Field Values

    - #### REFRESH_SEND_WEBGL_NEW_ORIENTATION

          public static final int REFRESH_SEND_WEBGL_NEW_ORIENTATION

      See Also:
        Constant Field Values

    - #### axesAreTainted

          private boolean axesAreTainted

    - #### maximumSize

          private int maximumSize

    - #### gRight

          private java.lang.Object gRight

      A graphics from a "slave" stereo display that has been synchronized with this this applet.

    - #### isStereoSlave

          private boolean isStereoSlave

      A flag to indicate that THIS is the right-side panel of a pair of synced applets running a left-right stereo display (that would be piped into a dual-image polarized projector system such as GeoWall).

    - #### imageFontScaling

          public float imageFontScaling

    - #### captureParams

          public java.util.Map<java.lang.String,java.lang.Object> captureParams

    - #### jsParams

          private java.util.Map<java.lang.String,java.lang.Object> jsParams

    - #### antialiased

          public boolean antialiased

    - #### hoverAtomIndex

          private int hoverAtomIndex

    - #### hoverText

          private java.lang.String hoverText

    - #### hoverLabel

          private java.lang.String hoverLabel

    - #### hoverEnabled

          private boolean hoverEnabled

    - #### currentCursor

          public int currentCursor

    - #### ptTemp

          private javajs.util.P3 ptTemp

    - #### prevFrame

          private int prevFrame

    - #### prevMorphModel

          private float prevMorphModel

    - #### haveJDX

          private boolean haveJDX

    - #### jsv

          private JmolJSpecView jsv

    - #### selectionHalosEnabled

          private boolean selectionHalosEnabled

    - #### frankOn

          public boolean frankOn

    - #### noFrankEcho

          public boolean noFrankEcho

    - #### scriptEditorVisible

          public boolean scriptEditorVisible

    - #### appConsole

          private JmolAppConsoleInterface appConsole

    - #### scriptEditor

          private JmolScriptEditorInterface scriptEditor

    - #### jmolpopup

          private GenericMenuInterface jmolpopup

    - #### modelkit

          private ModelKitPopup modelkit

    - #### headlessImageParams

          private java.util.Map<java.lang.String,java.lang.Object> headlessImageParams

    - #### pm

          JmolPropertyManager pm

    - #### isTainted

          boolean isTainted

    - #### movingSelected

          private boolean movingSelected

    - #### showSelected

          private boolean showSelected

    - #### atomHighlighted

          public int atomHighlighted

    - #### creatingImage

          public boolean creatingImage

    - #### outputManager

          private OutputManager outputManager

    - #### SYNC_GRAPHICS_MESSAGE

          public static final java.lang.String SYNC_GRAPHICS_MESSAGE

      See Also:
        Constant Field Values

    - #### SYNC_NO_GRAPHICS_MESSAGE

          public static final java.lang.String SYNC_NO_GRAPHICS_MESSAGE

      See Also:
        Constant Field Values

    - #### bsUserVdws

          javajs.util.BS bsUserVdws

    - #### userVdws

          float[] userVdws

    - #### userVdwMars

          int[] userVdwMars

    - #### currentShapeID

          private int currentShapeID

    - #### currentShapeState

          private java.lang.String currentShapeState

    - #### staticFunctions

          static final java.util.Map<java.lang.String,JmolScriptFunction> staticFunctions

    - #### localFunctions

          java.util.Map<java.lang.String,JmolScriptFunction> localFunctions

    - #### isKiosk

          boolean isKiosk

    - #### nProcessors

          public static int nProcessors

    - #### displayLoadErrors

          public boolean displayLoadErrors

    - #### isParallel

          private boolean isParallel

    - #### stateScriptVersionInt

          public int stateScriptVersionInt

    - #### jsExporter3D

          private JmolRendererInterface jsExporter3D

    - #### timeouts

          public java.util.Map<java.lang.String,java.lang.Object> timeouts

    - #### chainCaseSpecified

          private boolean chainCaseSpecified

    - #### nmrCalculation

          JmolNMRInterface nmrCalculation

    - #### logFileName

          java.lang.String logFileName

    - #### jzt

          private javajs.api.GenericZipTools jzt

    - #### jbr

          BioResolver jbr

    - #### jcm

          private JmolChimeMessenger jcm

    - #### jsonParser

          private javajs.util.JSJSONParser jsonParser

    - #### triangulator

          private Triangulator triangulator

    - #### nboParser

          private NBOParser nboParser

    - #### macros

          private java.util.Map<java.lang.String,java.lang.Object> macros

  - ### Constructor Detail

    - #### Viewer

          public Viewer(java.util.Map<java.lang.String,java.lang.Object> info)

      new way...
      Parameters:
        `info` - "display" "adapter" "statusListener" "platform" "options" "fullName" "documentBase" "codeBase" "multiTouch" [options] "noGraphics" "printOnly" "previewOnly" "debug" "applet" "signedApplet" "appletProxy" "useCommandThread" "platform" [option] "backgroundTransparent" "exit" "listCommands" "check" "checkLoad" "silent" "access:READSPT" "access:NONE" "menuFile" "headlessMaxTimeMs" "headlessImage" "isDataOnly" "async"

  - ### Method Detail

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `java.lang.Object`
      Throws:
        `java.lang.Throwable`

    - #### setInsertedCommand

          public void setInsertedCommand(java.lang.String strScript)

    - #### getJmolVersion

          public static java.lang.String getJmolVersion()

    - #### 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)

      old way...
      Parameters:
        `display` -
        `modelAdapter` -
        `fullName` -
        `documentBase` -
        `codeBase` -
        `commandOptions` -
        `statusListener` -
        `implementedPlatform` -
      Returns:
        JmolViewer object

    - #### haveAccess

          public boolean haveAccess(Viewer.ACCESS a)

    - #### getModelAdapter

          public JmolAdapter getModelAdapter()

      Specified by:
        `getModelAdapter` in class `JmolViewer`

    - #### getSmartsMatch

          public javajs.util.BS getSmartsMatch(java.lang.String smarts,
                                               javajs.util.BS bsSelected)
                                        throws java.lang.Exception

      Specified by:
        `getSmartsMatch` in class `JmolViewer`
      Throws:
        `java.lang.Exception`

    - #### getSmartsMatchForNodes

          public javajs.util.BS getSmartsMatchForNodes(java.lang.String smarts,
                                                       Node[] atoms)
                                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getSmartsMap

          public int[][] getSmartsMap(java.lang.String smarts,
                                      javajs.util.BS bsSelected)
                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### setOptions

          public void setOptions(java.util.Map<java.lang.String,java.lang.Object> info)

    - #### setDisplay

          public void setDisplay(java.lang.Object canvas)

    - #### newMeasurementData

          public MeasurementData newMeasurementData(java.lang.String id,
                                                    javajs.util.Lst<java.lang.Object> points)

    - #### getDataManager

          private JmolDataManager getDataManager()

    - #### getScriptManager

          private JmolScriptManager getScriptManager()

    - #### checkOption2

          private boolean checkOption2(java.lang.String key1,
                                       java.lang.String key2)

    - #### setStartupBooleans

          private void setStartupBooleans()

    - #### getExportDriverList

          public java.lang.String getExportDriverList()

    - #### dispose

          public void dispose()

      end of life for this viewer
      Overrides:
        `dispose` in class `JmolViewer`

    - #### reset

          public void reset(boolean includingSpin)

    - #### homePosition

          public void homePosition()

      Specified by:
        `homePosition` in class `JmolViewer`

    - #### initialize

          public void initialize(boolean clearUserVariables,
                                 boolean isPyMOL)

    - #### setWidthHeightVar

          public void setWidthHeightVar()

    - #### saveModelOrientation

          void saveModelOrientation()

    - #### restoreModelOrientation

          void restoreModelOrientation(int modelIndex)

    - #### restoreModelRotation

          void restoreModelRotation(int modelIndex)

    - #### getGLmolView

          public java.lang.Object getGLmolView()

      This method is only called by JmolGLmol applet._refresh();
      Returns:
        enough data to update a WebGL view

    - #### setRotationRadius

          public void setRotationRadius(float angstroms,
                                        boolean doAll)

    - #### setCenterBitSet

          public void setCenterBitSet(javajs.util.BS bsCenter,
                                      boolean doScale)

    - #### setNewRotationCenter

          public void setNewRotationCenter(javajs.util.P3 center)

    - #### navigate

          void navigate(int keyWhere,
                        int modifiers)

    - #### move

          public void move(JmolScriptEvaluator eval,
                           javajs.util.V3 dRot,
                           float dZoom,
                           javajs.util.V3 dTrans,
                           float dSlab,
                           float floatSecondsTotal,
                           int fps)

    - #### moveTo

          public void moveTo(JmolScriptEvaluator eval,
                             float floatSecondsTotal,
                             javajs.util.P3 center,
                             javajs.util.V3 rotAxis,
                             float degrees,
                             javajs.util.M3 rotationMatrix,
                             float zoom,
                             float xTrans,
                             float yTrans,
                             float rotationRadius,
                             javajs.util.P3 navCenter,
                             float xNav,
                             float yNav,
                             float navDepth,
                             float cameraDepth,
                             float cameraX,
                             float cameraY)

    - #### moveUpdate

          public void moveUpdate(float floatSecondsTotal)

    - #### navigatePt

          public void navigatePt(javajs.util.P3 center)

    - #### navigateAxis

          public void navigateAxis(javajs.util.V3 rotAxis,
                                   float degrees)

    - #### navTranslatePercent

          public void navTranslatePercent(float x,
                                          float y)

    - #### zoomBy

          void zoomBy(int pixels)

    - #### zoomByFactor

          void zoomByFactor(float factor,
                            int x,
                            int y)

    - #### rotateXYBy

          void rotateXYBy(float degX,
                          float degY)

    - #### spinXYBy

          public void spinXYBy(int xDelta,
                               int yDelta,
                               float speed)

    - #### rotateZBy

          public void rotateZBy(int zDelta,
                                int x,
                                int y)

    - #### rotateSelected

          void rotateSelected(float deltaX,
                              float deltaY,
                              javajs.util.BS bsSelected)

    - #### setMovableBitSet

          private javajs.util.BS setMovableBitSet(javajs.util.BS bsSelected,
                                                  boolean checkMolecule)

    - #### translateXYBy

          public void translateXYBy(int xDelta,
                                    int yDelta)

    - #### rotateFront

          public void rotateFront()

      Specified by:
        `rotateFront` in class `JmolViewer`

    - #### translate

          public void translate(char xyz,
                                float x,
                                char type,
                                javajs.util.BS bsAtoms)

    - #### slabByPixels

          void slabByPixels(int pixels)

    - #### depthByPixels

          void depthByPixels(int pixels)

    - #### slabDepthByPixels

          void slabDepthByPixels(int pixels)

    - #### finalizeTransformParameters

          public void finalizeTransformParameters()

    - #### getScalePixelsPerAngstrom

          public float getScalePixelsPerAngstrom(boolean asAntialiased)

    - #### setSpin

          public void setSpin(java.lang.String key,
                              int value)

    - #### getSpinState

          public java.lang.String getSpinState()

    - #### getOrientationText

          public java.lang.Object getOrientationText(int type,
                                                     java.lang.String name,
                                                     javajs.util.BS bs)

      Parameters:
        `type` -
        `name` -
        `bs` -
      Returns:
        String or Quat or P3[]

    - #### getCurrentColorRange

          public float[] getCurrentColorRange()

    - #### setDefaultColors

          private void setDefaultColors(boolean isRasmol)

    - #### setElementArgb

          public void setElementArgb(int elementNumber,
                                     int argb)

    - #### setVectorScale

          public void setVectorScale(float scale)

      Specified by:
        `setVectorScale` in class `JmolViewer`

    - #### setVibrationScale

          public void setVibrationScale(float scale)

      Specified by:
        `setVibrationScale` in class `JmolViewer`

    - #### setVibrationPeriod

          public void setVibrationPeriod(float period)

      Specified by:
        `setVibrationPeriod` in class `JmolViewer`

    - #### setObjectColor

          void setObjectColor(java.lang.String name,
                              java.lang.String colorName)

    - #### setObjectVisibility

          public void setObjectVisibility(java.lang.String name,
                                          boolean b)

    - #### setObjectArgb

          public void setObjectArgb(java.lang.String name,
                                    int argb)

    - #### setBackgroundImage

          public void setBackgroundImage(java.lang.String fileName,
                                         java.lang.Object image)

    - #### getObjectColix

          public short getObjectColix(int objId)

    - #### setColorBackground

          public void setColorBackground(java.lang.String colorName)

      Specified by:
        `setColorBackground` in class `JmolViewer`

    - #### getBackgroundArgb

          public int getBackgroundArgb()

      Specified by:
        `getBackgroundArgb` in class `JmolViewer`

    - #### setObjectMad10

          public void setObjectMad10(int iShape,
                                     java.lang.String name,
                                     int mad10)

      input here is a JC.SHAPE_xxxx identifier
      Parameters:
        `iShape` -
        `name` -
        `mad10` -

    - #### getObjectMad10

          public int getObjectMad10(int objId)

      Parameters:
        `objId` -
      Returns:
        mad10

    - #### setPropertyColorScheme

          public void setPropertyColorScheme(java.lang.String scheme,
                                             boolean isTranslucent,
                                             boolean isOverloaded)

    - #### getLightingState

          public java.lang.String getLightingState()

    - #### getColorPointForPropertyValue

          public javajs.util.P3 getColorPointForPropertyValue(float val)

    - #### select

          public void select(javajs.util.BS bs,
                             boolean isGroup,
                             int addRemove,
                             boolean isQuiet)

    - #### setSelectionSet

          public void setSelectionSet(javajs.util.BS set)

      Specified by:
        `setSelectionSet` in class `JmolViewer`

    - #### selectBonds

          public void selectBonds(javajs.util.BS bs)

    - #### displayAtoms

          public void displayAtoms(javajs.util.BS bs,
                                   boolean isDisplay,
                                   boolean isGroup,
                                   int addRemove,
                                   boolean isQuiet)

    - #### getUndeletedGroupAtomBits

          private javajs.util.BS getUndeletedGroupAtomBits(javajs.util.BS bs)

    - #### reportSelection

          void reportSelection(java.lang.String msg)

    - #### clearAtomSets

          private void clearAtomSets()

    - #### getDefinedAtomSet

          public javajs.util.BS getDefinedAtomSet(java.lang.String name)

    - #### selectAll

          public void selectAll()

      Specified by:
        `selectAll` in class `JmolViewer`

    - #### clearSelection

          public void clearSelection()

      Specified by:
        `clearSelection` in class `JmolViewer`

    - #### bsA

          public javajs.util.BS bsA()

    - #### addSelectionListener

          public void addSelectionListener(JmolSelectionListener listener)

      Specified by:
        `addSelectionListener` in class `JmolViewer`

    - #### removeSelectionListener

          public void removeSelectionListener(JmolSelectionListener listener)

      Specified by:
        `removeSelectionListener` in class `JmolViewer`

    - #### getAtomBitSetEval

          javajs.util.BS getAtomBitSetEval(JmolScriptEvaluator eval,
                                           java.lang.Object atomExpression)

    - #### processTwoPointGesture

          public void processTwoPointGesture(float[][][] touches)

    - #### processMouseEvent

          public boolean processMouseEvent(int id,
                                           int x,
                                           int y,
                                           int modifiers,
                                           long time)

    - #### getRubberBandSelection

          public Rectangle getRubberBandSelection()

    - #### isBound

          public boolean isBound(int mouseAction,
                                 int jmolAction)

    - #### getCursorX

          public int getCursorX()

    - #### getCursorY

          public int getCursorY()

    - #### getDefaultDirectory

          public java.lang.String getDefaultDirectory()

    - #### getLocalUrl

          public java.lang.String getLocalUrl(java.lang.String fileName)

    - #### getFileAsString

          public java.lang.String getFileAsString(java.lang.String fileName)

    - #### getBufferedInputStream

          public java.io.BufferedInputStream getBufferedInputStream(java.lang.String fullPathName)

      Specified by:
        `getBufferedInputStream` in interface `AtomDataServer`

    - #### setLoadParameters

          public java.util.Map<java.lang.String,java.lang.Object> setLoadParameters(java.util.Map<java.lang.String,java.lang.Object> htParams,
                                                                                    boolean isAppend)

    - #### openFileAsyncSpecial

          public void openFileAsyncSpecial(java.lang.String fileName,
                                           int flags)

      opens a file as a model, a script, or a surface via the creation of a script that is queued \t at the beginning disallows script option - used by JmolFileDropper and JmolPanel file-open actions - sets up a script to load the file. Called from (JSmolCore.js)Jmol.$appEvent(,,"drop").reader.onloadend()
      Specified by:
        `openFileAsyncSpecial` in class `JmolViewer`
      Parameters:
        `fileName` -
        `flags` - 1=pdbCartoons, 2=no scripting, 4=append, 8=fileOpen

    - #### openFile

          public java.lang.String openFile(java.lang.String fileName)

      for JmolSimpleViewer -- external applications only (and no-script JavaScript)
      Specified by:
        `openFile` in class `JmolViewer`
      Parameters:
        `fileName` -
      Returns:
        null or error

    - #### openFiles

          public java.lang.String openFiles(java.lang.String[] fileNames)

      for JmolSimpleViewer -- external applications only
      Specified by:
        `openFiles` in class `JmolViewer`
      Parameters:
        `fileNames` -
      Returns:
        null or error

    - #### openReader

          public java.lang.String openReader(java.lang.String fullPathName,
                                             java.lang.String fileName,
                                             java.lang.Object reader)

      Opens the file, given an already-created reader.
      Specified by:
        `openReader` in class `JmolViewer`
      Parameters:
        `fullPathName` -
        `fileName` - name without path or can just be null
        `reader` - could be Reader, BufferedInputStream, or byte[]
      Returns:
        null or error message

    - #### openDOM

          public java.lang.String openDOM(java.lang.Object DOMNode)

      applet DOM method -- does not preserve state
      Specified by:
        `openDOM` in class `JmolViewer`
      Parameters:
        `DOMNode` -
      Returns:
        null or error

    - #### loadModelFromFileRepaint

          private java.lang.String loadModelFromFileRepaint(java.lang.String fullPathName,
                                                            java.lang.String fileName,
                                                            java.lang.String[] fileNames,
                                                            java.lang.Object reader)

      for JmolSimpleViewer -- external applications only (and no-script JavaScript)
      Parameters:
        `fullPathName` -
        `fileName` -
        `fileNames` -
        `reader` -
      Returns:
        error message or null

    - #### loadModelFromFile

          public java.lang.String loadModelFromFile(java.lang.String fullPathName,
                                                    java.lang.String fileName,
                                                    java.lang.String[] fileNames,
                                                    java.lang.Object reader,
                                                    boolean isAppend,
                                                    java.util.Map<java.lang.String,java.lang.Object> htParams,
                                                    javajs.util.SB loadScript,
                                                    javajs.util.SB sOptions,
                                                    int tokType,
                                                    java.lang.String filecat)

      Used by the ScriptEvaluator LOAD command to open one or more files. Now necessary for EVERY load of a file, as loadScript must be passed to the ModelLoader.
      Parameters:
        `fullPathName` - may be null; used only when reader != null
        `fileName` - must not be null
        `fileNames` - when present, reader is ignored
        `reader` - may be a Reader, BufferedReader, byte[], or BufferedInputStream
        `isAppend` -
        `htParams` -
        `loadScript` -
        `sOptions` -
        `tokType` -
        `filecat` - + or null, -, or space
      Returns:
        null or error

    - #### setLigandModel

          public void setLigandModel(java.lang.String key,
                                     java.lang.String data)

    - #### getLigandModel

          public java.lang.Object getLigandModel(java.lang.String id,
                                                 java.lang.String prefix,
                                                 java.lang.String suffix,
                                                 java.lang.String terminator)

      obtain CIF data for a ligand for purposes of adding hydrogens or for any other purpose in terms of saving a data set for a file in a state
      Parameters:
        `id` - unique key; if null, clear "bad" entries from the set.
        `prefix` -
        `suffix` - or fileName
        `terminator` - Only save to this if not null
      Returns:
        a ligand model or a string if just file data or null

    - #### openFileFull

          private java.lang.Object openFileFull(java.lang.String fileName,
                                                boolean isAppend,
                                                java.util.Map<java.lang.String,java.lang.Object> htParams,
                                                javajs.util.SB loadScript)

      does NOT repaint
      Parameters:
        `fileName` -
        `isAppend` -
        `htParams` -
        `loadScript` - only necessary for string reading
      Returns:
        an AtomSetCollection or a String (error)

    - #### openStringInline

          public java.lang.String openStringInline(java.lang.String strModel)

      only used by file dropper.
      Specified by:
        `openStringInline` in class `JmolViewer`

    - #### loadInline

          public java.lang.String loadInline(java.lang.String strModel)

      from Applet and external applications only
      Specified by:
        `loadInline` in class `JmolViewer`

    - #### loadInline

          public java.lang.String loadInline(java.lang.String strModel,
                                             char newLine)

      external apps only
      Specified by:
        `loadInline` in class `JmolViewer`

    - #### loadInlineAppend

          public java.lang.String loadInlineAppend(java.lang.String strModel,
                                                   boolean isAppend)

      used by applet and console
      Specified by:
        `loadInlineAppend` in class `JmolViewer`

    - #### loadInlineScriptRepaint

          private java.lang.String loadInlineScriptRepaint(java.lang.String strModel,
                                                           char newLine,
                                                           boolean isAppend)

    - #### loadInline

          public java.lang.String loadInline(java.lang.String[] arrayModels)

      external apps only
      Specified by:
        `loadInline` in class `JmolViewer`

    - #### loadInline

          public java.lang.String loadInline(java.lang.String[] arrayModels,
                                             boolean isAppend)

      external apps and applet only
      Specified by:
        `loadInline` in class `JmolViewer`
      Parameters:
        `arrayModels` - and array of models, each of which is a String
      Returns:
        null or error message

    - #### loadInline

          public java.lang.String loadInline(java.util.List<java.lang.Object> arrayData,
                                             boolean isAppend)

      External applications only; does not preserve state -- intentionally!
      Specified by:
        `loadInline` in class `JmolViewer`
      Parameters:
        `arrayData` -
        `isAppend` -
      Returns:
        null or error string

    - #### loadInlineScript

          private java.lang.String loadInlineScript(java.lang.String strModel,
                                                    char newLine,
                                                    boolean isAppend,
                                                    java.util.Map<java.lang.String,java.lang.Object> htParams)

      used by loadInline and openFileFull
      Parameters:
        `strModel` -
        `newLine` -
        `isAppend` -
        `htParams` -
      Returns:
        null or error message

    - #### fixInlineString

          public static java.lang.String fixInlineString(java.lang.String strModel,
                                                         char newLine)

    - #### openStringInlineParamsAppend

          public java.lang.String openStringInlineParamsAppend(java.lang.String strModel,
                                                               java.util.Map<java.lang.String,java.lang.Object> htParams,
                                                               boolean isAppend)

      Only used for adding hydrogen atoms and adding the model kit methane model; not part of the public interface.
      Parameters:
        `strModel` -
        `htParams` -
        `isAppend` -
      Returns:
        null or error string

    - #### openStringsInlineParamsAppend

          private java.lang.String openStringsInlineParamsAppend(java.lang.String[] arrayModels,
                                                                 java.util.Map<java.lang.String,java.lang.Object> htParams,
                                                                 boolean isAppend)

      opens multiple files inline; does NOT repaint
      Parameters:
        `arrayModels` -
        `htParams` -
        `isAppend` -
      Returns:
        null or error message

    - #### getInlineChar

          public char getInlineChar()

    - #### getDataSeparator

          java.lang.String getDataSeparator()

    - #### createModelSetAndReturnError

          private java.lang.String createModelSetAndReturnError(java.lang.Object atomSetCollection,
                                                                boolean isAppend,
                                                                javajs.util.SB loadScript,
                                                                java.util.Map<java.lang.String,java.lang.Object> htParams)

      finally(!) we are ready to create the "model set" from the "atom set collection" - does NOT repaint
      Parameters:
        `atomSetCollection` -
        `isAppend` -
        `loadScript` - if null, then some special method like DOM; turn of preserveState
        `htParams` -
      Returns:
        errMsg

    - #### loadAtomDataAndReturnError

          private java.lang.String loadAtomDataAndReturnError(java.lang.Object atomSetCollection,
                                                              int tokType)

      or just apply the data to the current model set
      Parameters:
        `atomSetCollection` -
        `tokType` -
      Returns:
        error or null

    - #### getCurrentFileAsString

          public java.lang.String getCurrentFileAsString(java.lang.String state)

    - #### getFullPathNameOrError

          public java.lang.String[] getFullPathNameOrError(java.lang.String filename)

      Parameters:
        `filename` -
      Returns:
        String[2] where [0] is fullpathname and [1] is error message or null

    - #### getFileAsString3

          public java.lang.String getFileAsString3(java.lang.String name,
                                                   boolean checkProtected,
                                                   java.lang.String state)

    - #### getFileAsString4

          public java.lang.String getFileAsString4(java.lang.String name,
                                                   int nBytesMax,
                                                   boolean doSpecialLoad,
                                                   boolean allowBinary,
                                                   boolean checkProtected,
                                                   java.lang.String state)

    - #### getAsciiFileOrNull

          public java.lang.String getAsciiFileOrNull(java.lang.String name)

    - #### autoCalculate

          public void autoCalculate(int tokProperty,
                                    java.lang.String dataType)

    - #### calculateStraightness

          public void calculateStraightness()

    - #### calculateSurface

          public javajs.util.P3[] calculateSurface(javajs.util.BS bsSelected,
                                                   float envelopeRadius)

    - #### getStructureList

          public java.util.Map<STR,float[]> getStructureList()

    - #### setStructureList

          public void setStructureList(float[] list,
                                       STR type)

    - #### calculateStructures

          public java.lang.String calculateStructures(javajs.util.BS bsAtoms,
                                                      boolean asDSSP,
                                                      boolean setStructure,
                                                      int version)

      Parameters:
        `bsAtoms` -
        `asDSSP` -
        `setStructure` - to actually change structures
        `version` -
      Returns:
        structure string from DSSP

    - #### getAnnotationParser

          public JmolAnnotationParser getAnnotationParser(boolean isDSSR)

    - #### getSelectedAtomIterator

          public AtomIndexIterator getSelectedAtomIterator(javajs.util.BS bsSelected,
                                                           boolean isGreaterOnly,
                                                           boolean modelZeroBased,
                                                           boolean isMultiModel)

      Specified by:
        `getSelectedAtomIterator` in interface `AtomDataServer`

    - #### setIteratorForAtom

          public void setIteratorForAtom(AtomIndexIterator iterator,
                                         int atomIndex,
                                         float distance)

      Specified by:
        `setIteratorForAtom` in interface `AtomDataServer`

    - #### setIteratorForPoint

          public void setIteratorForPoint(AtomIndexIterator iterator,
                                          int modelIndex,
                                          javajs.util.T3 pt,
                                          float distance)

      Specified by:
        `setIteratorForPoint` in interface `AtomDataServer`

    - #### fillAtomData

          public void fillAtomData(AtomData atomData,
                                   int mode)

      Specified by:
        `fillAtomData` in interface `AtomDataServer`

    - #### addStateScript

          public StateScript addStateScript(java.lang.String script,
                                            boolean addFrameNumber,
                                            boolean postDefinitions)

    - #### getMinimizer

          public Minimizer getMinimizer(boolean createNew)

    - #### getSmilesMatcher

          public SmilesMatcherInterface getSmilesMatcher()

    - #### clearModelDependentObjects

          public void clearModelDependentObjects()

    - #### zap

          public void zap(boolean notify,
                          boolean resetUndo,
                          boolean zapModelKit)

    - #### zapMsg

          private void zapMsg(java.lang.String msg)

    - #### echoMessage

          void echoMessage(java.lang.String msg)

    - #### initializeModel

          private void initializeModel(boolean isAppend)

    - #### startHoverWatcher

          public void startHoverWatcher(boolean tf)

    - #### getModelSetPathName

          public java.lang.String getModelSetPathName()

      Specified by:
        `getModelSetPathName` in class `JmolViewer`

    - #### getModelSetFileName

          public java.lang.String getModelSetFileName()

      Specified by:
        `getModelSetFileName` in class `JmolViewer`

    - #### getUnitCellInfoText

          public java.lang.String getUnitCellInfoText()

    - #### getUnitCellInfo

          public float getUnitCellInfo(int infoType)

    - #### getV0abc

          public javajs.util.T3[] getV0abc(java.lang.Object def)

      convert string abc;offset or M3 or M4 to origin and three vectors -- a, b, c. The string can be preceded by ! for "reverse of". For example, "!a-b,-5a-5b,-c;7/8,0,1/8" offset is optional, but it still needs a semicolon: "a/2,b/2,c;"
      Parameters:
        `def` - a string or an M3 or M4
      Returns:
        vectors [origin a b c]

    - #### getPolymerPointsAndVectors

          public void getPolymerPointsAndVectors(javajs.util.BS bs,
                                                 javajs.util.Lst<javajs.util.P3[]> vList)

    - #### getHybridizationAndAxes

          public java.lang.String getHybridizationAndAxes(int atomIndex,
                                                          javajs.util.V3 z,
                                                          javajs.util.V3 x,
                                                          java.lang.String lcaoType)

    - #### getAllAtoms

          public javajs.util.BS getAllAtoms()

    - #### getModelUndeletedAtomsBitSet

          public javajs.util.BS getModelUndeletedAtomsBitSet(int modelIndex)

    - #### getModelUndeletedAtomsBitSetBs

          public javajs.util.BS getModelUndeletedAtomsBitSetBs(javajs.util.BS bsModels)

    - #### getBoundBoxCenter

          public javajs.util.P3 getBoundBoxCenter()

      Specified by:
        `getBoundBoxCenter` in class `JmolViewer`

    - #### calcBoundBoxDimensions

          public void calcBoundBoxDimensions(javajs.util.BS bs,
                                             float scale)

    - #### getBoundBoxCornerVector

          public javajs.util.V3 getBoundBoxCornerVector()

      Specified by:
        `getBoundBoxCornerVector` in class `JmolViewer`

    - #### getBoundBoxCenterX

          public int getBoundBoxCenterX()

    - #### getBoundBoxCenterY

          public int getBoundBoxCenterY()

    - #### getModelSetProperties

          public java.util.Properties getModelSetProperties()

      Specified by:
        `getModelSetProperties` in class `JmolViewer`

    - #### getModelProperties

          public java.util.Properties getModelProperties(int modelIndex)

      Specified by:
        `getModelProperties` in class `JmolViewer`

    - #### getModelSetAuxiliaryInfo

          public java.util.Map<java.lang.String,java.lang.Object> getModelSetAuxiliaryInfo()

      Specified by:
        `getModelSetAuxiliaryInfo` in class `JmolViewer`

    - #### getModelNumber

          public int getModelNumber(int modelIndex)

      Specified by:
        `getModelNumber` in class `JmolViewer`

    - #### getModelFileNumber

          public int getModelFileNumber(int modelIndex)

    - #### getModelNumberDotted

          public java.lang.String getModelNumberDotted(int modelIndex)

      Specified by:
        `getModelNumberDotted` in class `JmolViewer`

    - #### getModelName

          public java.lang.String getModelName(int modelIndex)

      Specified by:
        `getModelName` in class `JmolViewer`

    - #### modelHasVibrationVectors

          public boolean modelHasVibrationVectors(int modelIndex)

    - #### getBondsForSelectedAtoms

          public javajs.util.BS getBondsForSelectedAtoms(javajs.util.BS bsAtoms)

    - #### frankClicked

          public boolean frankClicked(int x,
                                      int y)

    - #### frankClickedModelKit

          public boolean frankClickedModelKit(int x,
                                              int y)

    - #### findNearestAtomIndex

          public int findNearestAtomIndex(int x,
                                          int y)

      Specified by:
        `findNearestAtomIndex` in class `JmolViewer`

    - #### findNearestAtomIndexMovable

          public int findNearestAtomIndexMovable(int x,
                                                 int y,
                                                 boolean mustBeMovable)

    - #### toCartesian

          public void toCartesian(javajs.util.T3 pt,
                                  boolean ignoreOffset)

      absolute or relative to origin of UNITCELL {x y z}
      Parameters:
        `pt` -
        `ignoreOffset` - TODO

    - #### toFractional

          public void toFractional(javajs.util.T3 pt,
                                   boolean ignoreOffset)

      Parameters:
        `pt` -
        `ignoreOffset` - set true for relative to {0 0 0}; otherwise relative to origin of UNITCELL {x y z}

    - #### toUnitCell

          public void toUnitCell(javajs.util.P3 pt,
                                 javajs.util.P3 offset)

      relative to origin without regard to UNITCELL {x y z}
      Parameters:
        `pt` -
        `offset` -

    - #### setCurrentCage

          public void setCurrentCage(java.lang.String isosurfaceId)

    - #### addUnitCellOffset

          public void addUnitCellOffset(javajs.util.P3 pt)

    - #### setAtomData

          public void setAtomData(int type,
                                  java.lang.String name,
                                  java.lang.String coordinateData,
                                  boolean isDefault)

    - #### setCenterSelected

          public void setCenterSelected()

      Specified by:
        `setCenterSelected` in class `JmolViewer`

    - #### setApplySymmetryToBonds

          void setApplySymmetryToBonds(boolean TF)

    - #### setBondTolerance

          public void setBondTolerance(float bondTolerance)

      Specified by:
        `setBondTolerance` in class `JmolViewer`

    - #### setMinBondDistance

          public void setMinBondDistance(float minBondDistance)

      Specified by:
        `setMinBondDistance` in class `JmolViewer`

    - #### getAtomsNearPt

          public javajs.util.BS getAtomsNearPt(float distance,
                                               javajs.util.P3 coord)

    - #### getBranchBitSet

          public javajs.util.BS getBranchBitSet(int atomIndex,
                                                int atomIndexNot,
                                                boolean allowCyclic)

      given a set of atoms, a subset of atoms to test, two atoms that start the branch, and whether or not to allow the branch to cycle back on itself,deliver the set of atoms constituting this branch.
      Parameters:
        `atomIndex` -
        `atomIndexNot` -
        `allowCyclic` -
      Returns:

    - #### getElementsPresentBitSet

          public javajs.util.BS getElementsPresentBitSet(int modelIndex)

      Specified by:
        `getElementsPresentBitSet` in class `JmolViewer`

    - #### getFileHeader

          java.lang.String getFileHeader()

    - #### getFileData

          java.lang.Object getFileData()

    - #### getCifData

          public java.util.Map<java.lang.String,java.lang.Object> getCifData(int modelIndex)

    - #### readCifData

          public java.util.Map<java.lang.String,java.lang.Object> readCifData(java.lang.String fileName,
                                                                              java.lang.String type)

    - #### readCifData

          public java.util.Map<java.lang.String,java.lang.Object> readCifData(java.lang.String fileName,
                                                                              java.lang.Object rdrOrStringData,
                                                                              java.lang.String type)

      Specified by:
        `readCifData` in interface `AtomDataServer`

    - #### getStateCreator

          public JmolStateCreator getStateCreator()

    - #### getWrappedStateScript

          public java.lang.String getWrappedStateScript()

    - #### getStateInfo

          public java.lang.String getStateInfo()

      Specified by:
        `getStateInfo` in class `JmolViewer`

    - #### getStateInfo3

          public java.lang.String getStateInfo3(java.lang.String type,
                                                int width,
                                                int height)

    - #### getStructureState

          public java.lang.String getStructureState()

    - #### getCoordinateState

          public java.lang.String getCoordinateState(javajs.util.BS bsSelected)

    - #### setCurrentColorRange

          public void setCurrentColorRange(java.lang.String label)

    - #### setData

          public void setData(java.lang.String key,
                              java.lang.Object[] data,
                              int dataType,
                              int matchField,
                              int matchFieldColumnCount,
                              int dataField,
                              int dataFieldColumnCount)

      A general-purpose data storage method. Note that matchFieldCount and dataFieldCount should both be positive or both be negative.
      Parameters:
        `key` - a simple key name for the data, starting with "property_" if user-defined
        `data` - data[0] -- label data[1] -- string or float[] or float[][] or float[][][] data[2] -- selection bitset or int[] atomMap when field > 0 data[3] -- arrayDepth 0(String),1(float[]),2(float[][]),3(float[][][]) or -1 to indidate that it is set by data type data[4] -- Boolean.TRUE == saveInState
        `dataType` - see JmolDataManager interface
        `matchField` - if positive, data must match atomNo in this column if 0, no match column
        `matchFieldColumnCount` - if positive, this number of characters in match column if 0, reference is to tokens, not characters
        `dataField` - if positive, column containing the data if 0, values are a simple list; clear the data if Integer.MAX_VALUE, values are a simple list; don't clear the data if Integer.MIN_VALUE, have one SINGLE data value for all selected atoms
        `dataFieldColumnCount` - if positive, this number of characters in data column if 0, reference is to tokens, not characters

    - #### getDataObj

          public java.lang.Object getDataObj(java.lang.String key,
                                             javajs.util.BS bsSelected,
                                             int dataType)

      Retrieve a data object
      Parameters:
        `key` -
        `bsSelected` - selected atoms; for DATA_AF only
        `dataType` - see JmolDataManager interface
      Returns:
        data object data[0] -- label (same as key) data[1] -- string or float[] or float[][] or float[][][] data[2] -- selection bitset or int[] atomMap when field > 0 data[3] -- arrayDepth 0(String),1(float[]),2(float[][]),3(float[][][]) or -1 to indicate that it is set by data type data[4] -- Boolean.TRUE == saveInState

    - #### autoHbond

          public int autoHbond(javajs.util.BS bsFrom,
                               javajs.util.BS bsTo,
                               boolean onlyIfHaveCalculated)

    - #### getCurrentUnitCell

          public SymmetryInterface getCurrentUnitCell()

    - #### getDefaultMeasurementLabel

          public java.lang.String getDefaultMeasurementLabel(int nPoints)

    - #### getMeasurementCount

          public int getMeasurementCount()

      Specified by:
        `getMeasurementCount` in class `JmolViewer`

    - #### getMeasurementStringValue

          public java.lang.String getMeasurementStringValue(int i)

      Specified by:
        `getMeasurementStringValue` in class `JmolViewer`

    - #### getMeasurementInfoAsString

          public java.lang.String getMeasurementInfoAsString()

    - #### getMeasurementCountPlusIndices

          public int[] getMeasurementCountPlusIndices(int i)

      Specified by:
        `getMeasurementCountPlusIndices` in class `JmolViewer`

    - #### setPendingMeasurement

          void setPendingMeasurement(MeasurementPending mp)

    - #### getPendingMeasurement

          public MeasurementPending getPendingMeasurement()

    - #### clearAllMeasurements

          public void clearAllMeasurements()

    - #### clearMeasurements

          public void clearMeasurements()

      Specified by:
        `clearMeasurements` in class `JmolViewer`

    - #### setAnimation

          public void setAnimation(int tok)

    - #### setAnimationFps

          public void setAnimationFps(int fps)

      Specified by:
        `setAnimationFps` in class `JmolViewer`

    - #### setAnimationMode

          private void setAnimationMode(java.lang.String mode)

    - #### setAnimationOn

          public void setAnimationOn(boolean animationOn)

    - #### setAnimationRange

          public void setAnimationRange(int modelIndex1,
                                        int modelIndex2)

    - #### getVisibleFramesBitSet

          public javajs.util.BS getVisibleFramesBitSet()

      Specified by:
        `getVisibleFramesBitSet` in class `JmolViewer`

    - #### getFrameAtoms

          public javajs.util.BS getFrameAtoms()

    - #### defineAtomSets

          public void defineAtomSets(java.util.Map<java.lang.String,java.lang.Object> info)

    - #### setAnimDisplay

          public void setAnimDisplay(javajs.util.BS bs)

    - #### setCurrentModelIndex

          public void setCurrentModelIndex(int modelIndex)

    - #### getTrajectoryState

          public java.lang.String getTrajectoryState()

    - #### setFrameOffsets

          public void setFrameOffsets(javajs.util.BS bsAtoms,
                                      boolean isFull)

    - #### setCurrentModelIndexClear

          public void setCurrentModelIndexClear(int modelIndex,
                                                boolean clearBackground)

    - #### haveFileSet

          public boolean haveFileSet()

    - #### setBackgroundModelIndex

          public void setBackgroundModelIndex(int modelIndex)

    - #### setFrameVariables

          void setFrameVariables()

    - #### getInMotion

          public boolean getInMotion(boolean includeAnim)

    - #### getMotionEventNumber

          public int getMotionEventNumber()

      Specified by:
        `getMotionEventNumber` in class `JmolViewer`

    - #### setInMotion

          public void setInMotion(boolean inMotion)

      Specified by:
        `setInMotion` in class `JmolViewer`

    - #### setRefreshing

          private void setRefreshing(boolean TF)

    - #### getRefreshing

          public boolean getRefreshing()

    - #### pushHoldRepaint

          public void pushHoldRepaint()

      Specified by:
        `pushHoldRepaint` in class `JmolViewer`

    - #### pushHoldRepaintWhy

          public void pushHoldRepaintWhy(java.lang.String why)

      Parameters:
        `why` -

    - #### popHoldRepaint

          public void popHoldRepaint(java.lang.String why)

      Specified by:
        `popHoldRepaint` in class `JmolViewer`

    - #### refresh

          public void refresh(int mode,
                              java.lang.String strWhy)

      initiate a repaint/update sequence if it has not already been requested. invoked whenever any operation causes changes that require new rendering. The repaint/update sequence will only be invoked if (a) no repaint is already pending and (b) there is no hold flag set in repaintManager. Sequence is as follows: 1) RepaintManager.refresh() checks flags and then calls Viewer.repaint() 2) Viewer.repaint() invokes display.repaint(), provided display is not null (headless) 3) The system responds with an invocation of Jmol.update(Graphics g), which we are routing through Jmol.paint(Graphics g). 4) Jmol.update invokes Viewer.setScreenDimensions(size), which makes the necessary changes in parameters for any new window size. 5) Jmol.update invokes Viewer.renderScreenImage(g, size, rectClip) 6) Viewer.renderScreenImage checks object visibility, invokes render1 to do the actual creation of the image pixel map and send it to the screen, and then invokes repaintView() 7) Viewer.repaintView() invokes RepaintManager.repaintDone(), to clear the flags and then use notify() to release any threads holding on wait().
      Specified by:
        `refresh` in class `JmolViewer`
      Parameters:
        `mode` - REFRESH_REPAINT: ONLY do a repaint -- no syncing REFRESH_SYNC: mouse motion requiring synchronization -- not going through Eval so we bypass Eval and mainline on the other vwr! Also called from j2sApplet.js REFRESH_REPAINT_SYNC_MASK: same as REFRESH_REPAINT, but not WebGL REFRESH_NO_MOTION_ONLY: refresh only if not in motion REFRESH_SEND_WEBGL_NEW_ORIENTATION: send WebGL a "new orientation" command at the end of a script using html5applet._refresh()
        `strWhy` - debugging or for passing mouse command when using REFRESH_SYNC

    - #### requestRepaintAndWait

          public void requestRepaintAndWait(java.lang.String why)

    - #### clearShapeRenderers

          public void clearShapeRenderers()

    - #### isRepaintPending

          public boolean isRepaintPending()

    - #### notifyViewerRepaintDone

          public void notifyViewerRepaintDone()

      Specified by:
        `notifyViewerRepaintDone` in class `JmolViewer`

    - #### areAxesTainted

          public boolean areAxesTainted()

    - #### setMaximumSize

          private void setMaximumSize(int x)

    - #### setScreenDimension

          public void setScreenDimension(int width,
                                         int height)

      Specified by:
        `setScreenDimension` in class `JmolViewer`

    - #### setStereo

          public void setStereo(boolean isStereoSlave,
                                java.lang.Object gRight)

    - #### resizeImage

          void resizeImage(int width,
                           int height,
                           boolean isImageWrite,
                           boolean isExport,
                           boolean isReset)

    - #### getScreenWidth

          public int getScreenWidth()

      Specified by:
        `getScreenWidth` in class `JmolViewer`

    - #### getScreenHeight

          public int getScreenHeight()

      Specified by:
        `getScreenHeight` in class `JmolViewer`

    - #### getScreenDim

          public int getScreenDim()

    - #### generateOutputForExport

          public java.lang.String generateOutputForExport(java.util.Map<java.lang.String,java.lang.Object> params)

      Description copied from class: `JmolViewer`
      for POV-Ray
      Specified by:
        `generateOutputForExport` in class `JmolViewer`
      Returns:
        INI file

    - #### clearRepaintManager

          private void clearRepaintManager(int iShape)

    - #### renderScreenImageStereo

          public void renderScreenImageStereo(java.lang.Object gLeft,
                                              boolean checkStereoSlave,
                                              int width,
                                              int height)

    - #### updateJS

          public void updateJS()

      for JavaScript only

    - #### updateJSView

          private void updateJSView(int imodel,
                                    int iatom)

      File has been loaded or model has been changed or atom picked. This is a call to Jmol.View for view sets (new in Jmol 14.1.8)
      Parameters:
        `imodel` -
        `iatom` -

    - #### updateWindow

          private boolean updateWindow(int width,
                                       int height)

    - #### renderScreenImage

          public void renderScreenImage(java.lang.Object g,
                                        int width,
                                        int height)

      JmolViewer interface uses this, but that is all
      Specified by:
        `renderScreenImage` in class `JmolViewer`

    - #### getImage

          private java.lang.Object getImage(boolean isDouble,
                                            boolean isImageWrite)

      Parameters:
        `isDouble` -
        `isImageWrite` - TODO
      Returns:
        a java.awt.Image in the case of standard Jmol; an int[] in the case of Jmol-Android a canvas in the case of JSmol

    - #### beginRendering

          private void beginRendering(boolean isDouble,
                                      boolean isImageWrite)

    - #### render

          private void render()

    - #### drawImage

          private void drawImage(java.lang.Object graphic,
                                 java.lang.Object img,
                                 int x,
                                 int y,
                                 boolean isDTI)

      Parameters:
        `graphic` - In JavaScript/HTML5, a Canvas.Context2d
        `img` -
        `x` -
        `y` -
        `isDTI` - DTI format -- scrunch width by factor of two

    - #### getScreenImageBuffer

          public java.lang.Object getScreenImageBuffer(java.lang.Object graphic,
                                                       boolean isImageWrite)

      Image.getJpgImage, ImageCreator.clipImage, getImageBytes, Viewer.renderScreenImageStereo
      Specified by:
        `getScreenImageBuffer` in class `JmolViewer`

    - #### getImageAsBytes

          public byte[] getImageAsBytes(java.lang.String type,
                                        int width,
                                        int height,
                                        int quality,
                                        java.lang.String[] errMsg)

      Specified by:
        `getImageAsBytes` in class `JmolViewer`
        `errMsg` - TODO
      Returns:
        byte[] image, or null and an error message

    - #### releaseScreenImage

          public void releaseScreenImage()

      Specified by:
        `releaseScreenImage` in class `JmolViewer`

    - #### evalFile

          public java.lang.String evalFile(java.lang.String strFilename)

      Specified by:
        `evalFile` in class `JmolViewer`

    - #### getInsertedCommand

          public java.lang.String getInsertedCommand()

    - #### script

          public java.lang.String script(java.lang.String strScript)

      Specified by:
        `script` in class `JmolViewer`

    - #### evalString

          public java.lang.String evalString(java.lang.String strScript)

      Specified by:
        `evalString` in class `JmolViewer`

    - #### evalStringQuiet

          public java.lang.String evalStringQuiet(java.lang.String strScript)

      Specified by:
        `evalStringQuiet` in class `JmolViewer`

    - #### evalStringQuietSync

          public java.lang.String evalStringQuietSync(java.lang.String strScript,
                                                      boolean isQuiet,
                                                      boolean allowSyncScript)

    - #### clearScriptQueue

          public void clearScriptQueue()

    - #### setScriptQueue

          private void setScriptQueue(boolean TF)

    - #### checkHalt

          public boolean checkHalt(java.lang.String str,
                                   boolean isInsert)

      Specified by:
        `checkHalt` in class `JmolViewer`

    - #### scriptWait

          public java.lang.String scriptWait(java.lang.String strScript)

      Specified by:
        `scriptWait` in class `JmolViewer`

    - #### scriptWaitStatus

          public java.lang.Object scriptWaitStatus(java.lang.String strScript,
                                                   java.lang.String statusList)

      Specified by:
        `scriptWaitStatus` in class `JmolViewer`

    - #### evalWait

          private java.lang.Object evalWait(java.lang.String returnType,
                                            java.lang.String strScript,
                                            java.lang.String statusList)

    - #### evalStringWaitStatusQueued

          public java.lang.Object evalStringWaitStatusQueued(java.lang.String returnType,
                                                             java.lang.String strScript,
                                                             java.lang.String statusList,
                                                             boolean isQuiet,
                                                             boolean isQueued)

    - #### exitJmol

          public void exitJmol()

    - #### scriptCheckRet

          private java.lang.Object scriptCheckRet(java.lang.String strScript,
                                                  boolean returnContext)

    - #### scriptCheck

          public java.lang.Object scriptCheck(java.lang.String strScript)

      Specified by:
        `scriptCheck` in class `JmolViewer`

    - #### isScriptExecuting

          public boolean isScriptExecuting()

      Specified by:
        `isScriptExecuting` in class `JmolViewer`

    - #### haltScriptExecution

          public void haltScriptExecution()

      Specified by:
        `haltScriptExecution` in class `JmolViewer`

    - #### pauseScriptExecution

          public void pauseScriptExecution()

    - #### resolveDatabaseFormat

          java.lang.String resolveDatabaseFormat(java.lang.String fileName)

    - #### hasDatabasePrefix

          public static boolean hasDatabasePrefix(java.lang.String fileName)

    - #### isDatabaseCode

          public static boolean isDatabaseCode(char ch)

    - #### setLoadFormat

          public java.lang.Object setLoadFormat(java.lang.String name,
                                                char type,
                                                boolean withPrefix)

      Jmol will either specify a type or look for it in the first character, making sure it is found using isDatabaseCode() first. Starting with Jmol 13.1.13, we allow a generalized search using =xxx= where xxx is a known or user-specified database designation.
      Parameters:
        `name` -
        `type` -
        `withPrefix` -
      Returns:
        String or String[]

    - #### getStandardLabelFormat

          public java.lang.String getStandardLabelFormat(int type)

    - #### getAdditionalHydrogens

          public javajs.util.P3[] getAdditionalHydrogens(javajs.util.BS bsAtoms,
                                                         boolean doAll,
                                                         boolean justCarbon,
                                                         javajs.util.Lst<Atom> vConnections)

    - #### setMarBond

          public void setMarBond(short marBond)

      Specified by:
        `setMarBond` in class `JmolViewer`

    - #### setHoverLabel

          public void setHoverLabel(java.lang.String strLabel)

    - #### setHoverEnabled

          private void setHoverEnabled(boolean tf)

    - #### hoverOn

          void hoverOn(int atomIndex,
                       boolean isLabel)

    - #### hoverOnPt

          public void hoverOnPt(int x,
                                int y,
                                java.lang.String text,
                                java.lang.String id,
                                javajs.util.T3 pt)

      Hover over an arbitrary point.
      Parameters:
        `x` -
        `y` -
        `text` -
        `id` - optional id to set _objecthovered to
        `pt` - optional pt to set "hovered" to

    - #### hoverOff

          void hoverOff()

    - #### setDebugScript

          public void setDebugScript(boolean debugScript)

      Specified by:
        `setDebugScript` in class `JmolViewer`

    - #### clearClickCount

          void clearClickCount()

    - #### setCursor

          public void setCursor(int cursor)

    - #### setPickingMode

          void setPickingMode(java.lang.String strMode,
                              int pickingMode)

    - #### getPickingMode

          public int getPickingMode()

    - #### setPickingStyle

          void setPickingStyle(java.lang.String style,
                               int pickingStyle)

    - #### getDrawHover

          public boolean getDrawHover()

    - #### getAtomInfo

          public java.lang.String getAtomInfo(int atomOrPointIndex)

    - #### getAtomInfoXYZ

          private java.lang.String getAtomInfoXYZ(int atomIndex,
                                                  boolean useChimeFormat)

    - #### setSync

          private void setSync()

    - #### setJmolCallbackListener

          public void setJmolCallbackListener(JmolCallbackListener listener)

      Specified by:
        `setJmolCallbackListener` in class `JmolViewer`

    - #### setJmolStatusListener

          public void setJmolStatusListener(JmolStatusListener listener)

      Specified by:
        `setJmolStatusListener` in class `JmolViewer`

    - #### getStatusChanged

          public javajs.util.Lst<javajs.util.Lst<javajs.util.Lst<java.lang.Object>>> getStatusChanged(java.lang.String statusNameList)

    - #### menuEnabled

          public boolean menuEnabled()

    - #### popupMenu

          void popupMenu(int x,
                         int y,
                         char type)

    - #### setRotateBondIndex

          public void setRotateBondIndex(int i)

    - #### getMenu

          public java.lang.String getMenu(java.lang.String type)

    - #### getPopupMenu

          private java.lang.Object getPopupMenu()

    - #### setMenu

          public void setMenu(java.lang.String fileOrText,
                              boolean isFile)

      Specified by:
        `setMenu` in class `JmolViewer`

    - #### setStatusFrameChanged

          void setStatusFrameChanged(boolean isVib,
                                     boolean doNotify)

      Parameters:
        `isVib` -
        `doNotify` - ignored; not implemented

    - #### doHaveJDX

          private boolean doHaveJDX()

    - #### getJSV

          JmolJSpecView getJSV()

    - #### getJDXBaseModelIndex

          public int getJDXBaseModelIndex(int modelIndex)

      get the model designated as "baseModel" in a JCamp-MOL file for example, the model used for bonding for an XYZVIB file or the model used as the base model for a mass spec file. This might then allow pointing off a peak in JSpecView to switch to the model that is involved in HNMR or CNMR
      Parameters:
        `modelIndex` -
      Returns:
        modelIndex

    - #### getJspecViewProperties

          public java.lang.Object getJspecViewProperties(java.lang.Object myParam)

    - #### scriptEcho

          public void scriptEcho(java.lang.String strEcho)

    - #### isScriptQueued

          private boolean isScriptQueued()

    - #### notifyError

          public void notifyError(java.lang.String errType,
                                  java.lang.String errMsg,
                                  java.lang.String errMsgUntranslated)

    - #### jsEval

          public java.lang.String jsEval(java.lang.String strEval)

    - #### jsEvalSV

          public SV jsEvalSV(java.lang.String strEval)

    - #### setFileLoadStatus

          private void setFileLoadStatus(FIL ptLoad,
                                         java.lang.String fullPathName,
                                         java.lang.String fileName,
                                         java.lang.String modelName,
                                         java.lang.String strError,
                                         java.lang.Boolean isAsync)

    - #### getZapName

          public java.lang.String getZapName()

    - #### setStatusMeasuring

          public void setStatusMeasuring(java.lang.String status,
                                         int intInfo,
                                         java.lang.String strMeasure,
                                         float value)

    - #### notifyMinimizationStatus

          public void notifyMinimizationStatus()

    - #### setStatusAtomPicked

          public void setStatusAtomPicked(int atomIndex,
                                          java.lang.String info,
                                          java.util.Map<java.lang.String,java.lang.Object> map,
                                          boolean andSelect)

    - #### setStatusDragDropped

          public boolean setStatusDragDropped(int mode,
                                              int x,
                                              int y,
                                              java.lang.String fileName)

    - #### setStatusResized

          public void setStatusResized(int width,
                                       int height)

    - #### scriptStatus

          public void scriptStatus(java.lang.String strStatus)

    - #### scriptStatusMsg

          public void scriptStatusMsg(java.lang.String strStatus,
                                      java.lang.String statusMessage)

    - #### setScriptStatus

          public void setScriptStatus(java.lang.String strStatus,
                                      java.lang.String statusMessage,
                                      int msWalltime,
                                      java.lang.String strErrorMessageUntranslated)

    - #### showUrl

          public void showUrl(java.lang.String urlString)

      Specified by:
        `showUrl` in class `JmolViewer`

    - #### setMeshCreator

          public void setMeshCreator(java.lang.Object meshCreator)

      an external applet or app with class that extends org.jmol.jvxl.MeshCreator might execute: org.jmol.viewer.Viewer vwr = applet.getViewer(); vwr.setMeshCreator(this); then that class's updateMesh(String id) method will be called whenever a mesh is rendered.
      Parameters:
        `meshCreator` -

    - #### showConsole

          public void showConsole(boolean showConsole)

    - #### getConsole

          public JmolAppConsoleInterface getConsole()

    - #### getParameter

          public java.lang.Object getParameter(java.lang.String key)

      Specified by:
        `getParameter` in class `JmolViewer`

    - #### getP

          public java.lang.Object getP(java.lang.String key)

    - #### getPOrNull

          public java.lang.Object getPOrNull(java.lang.String key)

    - #### unsetProperty

          public void unsetProperty(java.lang.String key)

    - #### notifyStatusReady

          public void notifyStatusReady(boolean isReady)

      Specified by:
        `notifyStatusReady` in class `JmolViewer`

    - #### getBooleanProperty

          public boolean getBooleanProperty(java.lang.String key)

      Specified by:
        `getBooleanProperty` in class `JmolViewer`

    - #### getInt

          public int getInt(int tok)

      Specified by:
        `getInt` in class `JmolViewer`

    - #### getDelayMaximumMs

          public int getDelayMaximumMs()

    - #### getHermiteLevel

          public int getHermiteLevel()

    - #### getHoverDelay

          public int getHoverDelay()

    - #### getBoolean

          public boolean getBoolean(int tok)

      Specified by:
        `getBoolean` in class `JmolViewer`

    - #### allowEmbeddedScripts

          public boolean allowEmbeddedScripts()

    - #### getDragSelected

          boolean getDragSelected()

    - #### getBondsPickable

          boolean getBondsPickable()

    - #### useMinimizationThread

          public boolean useMinimizationThread()

    - #### getFloat

          public float getFloat(int tok)

      Specified by:
        `getFloat` in class `JmolViewer`

    - #### setStringProperty

          public void setStringProperty(java.lang.String key,
                                        java.lang.String value)

      Specified by:
        `setStringProperty` in class `JmolViewer`

    - #### setStringPropertyTok

          private void setStringPropertyTok(java.lang.String key,
                                            int tok,
                                            java.lang.String value)

    - #### setFloatProperty

          public void setFloatProperty(java.lang.String key,
                                       float value)

      Specified by:
        `setFloatProperty` in class `JmolViewer`

    - #### setFloatPropertyTok

          private void setFloatPropertyTok(java.lang.String key,
                                           int tok,
                                           float value)

    - #### setIntProperty

          public void setIntProperty(java.lang.String key,
                                     int value)

      Specified by:
        `setIntProperty` in class `JmolViewer`

    - #### setIntPropertyTok

          private void setIntPropertyTok(java.lang.String key,
                                         int tok,
                                         int value)

    - #### checkIntRange

          private static int checkIntRange(int value,
                                           int min,
                                           int max)

    - #### checkFloatRange

          private static float checkFloatRange(float value,
                                               float min,
                                               float max)

    - #### setBooleanProperty

          public void setBooleanProperty(java.lang.String key,
                                         boolean value)

      Specified by:
        `setBooleanProperty` in class `JmolViewer`

    - #### setBooleanPropertyTok

          private void setBooleanPropertyTok(java.lang.String key,
                                             int tok,
                                             boolean value)

    - #### setModelKitMode

          private void setModelKitMode(boolean value)

    - #### setSmilesString

          public void setSmilesString(java.lang.String s)

    - #### removeUserVariable

          public void removeUserVariable(java.lang.String key)

    - #### jmolTest

          private void jmolTest()

    - #### showParameter

          public void showParameter(java.lang.String key,
                                    boolean ifNotSet,
                                    int nMax)

    - #### showString

          public void showString(java.lang.String str,
                                 boolean isPrint)

    - #### getAllSettings

          public java.lang.String getAllSettings(java.lang.String prefix)

    - #### getBindingInfo

          public java.lang.String getBindingInfo(java.lang.String qualifiers)

    - #### getIsosurfacePropertySmoothing

          public int getIsosurfacePropertySmoothing(boolean asPower)

    - #### setNavigationDepthPercent

          public void setNavigationDepthPercent(float percent)

    - #### getShowNavigationPoint

          public boolean getShowNavigationPoint()

    - #### getCurrentSolventProbeRadius

          public float getCurrentSolventProbeRadius()

    - #### setPerspectiveDepth

          public void setPerspectiveDepth(boolean perspectiveDepth)

      Specified by:
        `setPerspectiveDepth` in class `JmolViewer`

    - #### setAxesOrientationRasmol

          public void setAxesOrientationRasmol(boolean TF)

      Specified by:
        `setAxesOrientationRasmol` in class `JmolViewer`

    - #### setAxesScale

          private void setAxesScale(int tok,
                                    float val)

    - #### setAxesMode

          void setAxesMode(int mode)

    - #### getSelectionHalosEnabled

          public boolean getSelectionHalosEnabled()

    - #### setSelectionHalosEnabled

          public void setSelectionHalosEnabled(boolean TF)

    - #### getShowSelectedOnce

          public boolean getShowSelectedOnce()

    - #### setStrandCount

          private void setStrandCount(int type,
                                      int value)

    - #### getStrandCount

          public int getStrandCount(int type)

    - #### setNavigationMode

          public void setNavigationMode(boolean TF)

    - #### setAutoBond

          public void setAutoBond(boolean TF)

      Specified by:
        `setAutoBond` in class `JmolViewer`

    - #### makeConnections

          public int[] makeConnections(float minDistance,
                                       float maxDistance,
                                       int order,
                                       int connectOperation,
                                       javajs.util.BS bsA,
                                       javajs.util.BS bsB,
                                       javajs.util.BS bsBonds,
                                       boolean isBonds,
                                       boolean addGroup,
                                       float energy)

    - #### rebond

          public void rebond()

      Specified by:
        `rebond` in class `JmolViewer`

    - #### rebondState

          public void rebondState(boolean isStateScript)

    - #### setPercentVdwAtom

          public void setPercentVdwAtom(int value)

      Specified by:
        `setPercentVdwAtom` in class `JmolViewer`

    - #### getMadBond

          public short getMadBond()

      Specified by:
        `getMadBond` in class `JmolViewer`

    - #### setShowHydrogens

          public void setShowHydrogens(boolean TF)

      Specified by:
        `setShowHydrogens` in class `JmolViewer`

    - #### setShowBbcage

          public void setShowBbcage(boolean value)

    - #### getShowBbcage

          public boolean getShowBbcage()

    - #### setShowUnitCell

          public void setShowUnitCell(boolean value)

    - #### getShowUnitCell

          public boolean getShowUnitCell()

    - #### setShowAxes

          public void setShowAxes(boolean value)

    - #### getShowAxes

          public boolean getShowAxes()

    - #### setFrankOn

          public void setFrankOn(boolean TF)

      Specified by:
        `setFrankOn` in class `JmolViewer`

    - #### getShowFrank

          public boolean getShowFrank()

    - #### setShowMeasurements

          public void setShowMeasurements(boolean TF)

      Specified by:
        `setShowMeasurements` in class `JmolViewer`

    - #### setUnits

          public void setUnits(java.lang.String units,
                               boolean isDistance)

    - #### setRasmolDefaults

          public void setRasmolDefaults()

      Specified by:
        `setRasmolDefaults` in class `JmolViewer`

    - #### setJmolDefaults

          public void setJmolDefaults()

      Specified by:
        `setJmolDefaults` in class `JmolViewer`

    - #### setDefaultsType

          private void setDefaultsType(java.lang.String type)

    - #### setAntialias

          private void setAntialias(int tok,
                                    boolean TF)

    - #### allocTempPoints

          public javajs.util.P3[] allocTempPoints(int size)

    - #### freeTempPoints

          public void freeTempPoints(javajs.util.P3[] tempPoints)

    - #### allocTempScreens

          public javajs.util.P3i[] allocTempScreens(int size)

    - #### freeTempScreens

          public void freeTempScreens(javajs.util.P3i[] tempScreens)

    - #### allocTempEnum

          public STR[] allocTempEnum(int size)

    - #### freeTempEnum

          public void freeTempEnum(STR[] temp)

    - #### getFont3D

          public Font getFont3D(java.lang.String fontFace,
                                java.lang.String fontStyle,
                                float fontSize)

    - #### getAtomGroupQuaternions

          public javajs.util.Quat[] getAtomGroupQuaternions(javajs.util.BS bsAtoms,
                                                            int nMax)

    - #### setStereoMode

          public void setStereoMode(int[] twoColors,
                                    STER stereoMode,
                                    float degrees)

    - #### getChimeInfo

          public java.lang.String getChimeInfo(int tok)

    - #### getModelFileInfo

          public java.lang.String getModelFileInfo()

    - #### getModelFileInfoAll

          public java.lang.String getModelFileInfoAll()

    - #### getProperty

          public java.lang.Object getProperty(java.lang.String returnType,
                                              java.lang.String infoType,
                                              java.lang.Object paramInfo)

      Specified by:
        `getProperty` in class `JmolViewer`
      Parameters:
        `returnType` - "JSON", "string", "readable", and anything else returns the Java object.
      Returns:
        property data -- see org.jmol.viewer.PropertyManager.java

    - #### showEditor

          public void showEditor(java.lang.String[] file_text)

    - #### getPropertyManager

          private JmolPropertyManager getPropertyManager()

    - #### setTainted

          public void setTainted(boolean TF)

    - #### notifyMouseClicked

          public int notifyMouseClicked(int x,
                                        int y,
                                        int action,
                                        int mode)

    - #### checkObjectClicked

          java.util.Map<java.lang.String,java.lang.Object> checkObjectClicked(int x,
                                                                              int y,
                                                                              int modifiers)

    - #### checkObjectHovered

          public boolean checkObjectHovered(int x,
                                            int y)

    - #### checkObjectDragged

          boolean checkObjectDragged(int prevX,
                                     int prevY,
                                     int x,
                                     int y,
                                     int action)

    - #### rotateAxisAngleAtCenter

          public boolean rotateAxisAngleAtCenter(JmolScriptEvaluator eval,
                                                 javajs.util.P3 rotCenter,
                                                 javajs.util.V3 rotAxis,
                                                 float degreesPerSecond,
                                                 float endDegrees,
                                                 boolean isSpin,
                                                 javajs.util.BS bsSelected)

    - #### rotateAboutPointsInternal

          public boolean rotateAboutPointsInternal(JmolScriptEvaluator eval,
                                                   javajs.util.P3 point1,
                                                   javajs.util.P3 point2,
                                                   float degreesPerSecond,
                                                   float endDegrees,
                                                   boolean isSpin,
                                                   javajs.util.BS bsSelected,
                                                   javajs.util.V3 translation,
                                                   javajs.util.Lst<javajs.util.P3> finalPoints,
                                                   float[] dihedralList,
                                                   javajs.util.M4 m4)

    - #### startSpinningAxis

          public void startSpinningAxis(javajs.util.T3 pt1,
                                        javajs.util.T3 pt2,
                                        boolean isClockwise)

    - #### getModelDipole

          public javajs.util.V3 getModelDipole()

    - #### calculateMolecularDipole

          public javajs.util.V3 calculateMolecularDipole(javajs.util.BS bsAtoms)
                                                  throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### setDefaultLattice

          public void setDefaultLattice(javajs.util.P3 p)

    - #### getDefaultLattice

          public javajs.util.P3 getDefaultLattice()

    - #### getModelExtract

          public java.lang.String getModelExtract(java.lang.Object atomExpression,
                                                  boolean doTransform,
                                                  boolean isModelKit,
                                                  java.lang.String type)

      V3000, SDF, JSON, CD, XYZ, XYZVIB, XYZRN, CML, PDB, PQR
      Parameters:
        `atomExpression` -
        `doTransform` -
        `isModelKit` -
        `type` -
      Returns:
        full file data

    - #### getData

          public java.lang.String getData(java.lang.String atomExpression,
                                          java.lang.String type)

      Specified by:
        `getData` in class `JmolViewer`

    - #### getModelFileData

          public java.lang.String getModelFileData(java.lang.String atomExpression,
                                                   java.lang.String type,
                                                   boolean allTrajectories)

      Parameters:
        `atomExpression` - -- will be wrapped in { } and evaluated
        `type` - -- lower case means "atom data only; UPPERCASE returns full file data
        `allTrajectories` -
      Returns:
        full or atom-only data formatted as specified

    - #### getModelCml

          public java.lang.String getModelCml(javajs.util.BS bs,
                                              int nAtomsMax,
                                              boolean addBonds,
                                              boolean doTransform)

    - #### getPdbAtomData

          public java.lang.String getPdbAtomData(javajs.util.BS bs,
                                                 javajs.util.OC out,
                                                 boolean asPQR,
                                                 boolean doTransform)

    - #### isJmolDataFrame

          public boolean isJmolDataFrame()

    - #### setFrameTitle

          public void setFrameTitle(int modelIndex,
                                    java.lang.String title)

    - #### setFrameTitleObj

          public void setFrameTitleObj(java.lang.Object title)

    - #### getFrameTitle

          public java.lang.String getFrameTitle()

    - #### setAtomProperty

          public void setAtomProperty(javajs.util.BS bs,
                                      int tok,
                                      int iValue,
                                      float fValue,
                                      java.lang.String sValue,
                                      float[] values,
                                      java.lang.String[] list)

    - #### checkCoordinatesChanged

          public void checkCoordinatesChanged()

    - #### setAtomCoords

          public void setAtomCoords(javajs.util.BS bs,
                                    int tokType,
                                    java.lang.Object xyzValues)

    - #### setAtomCoordsRelative

          public void setAtomCoordsRelative(javajs.util.T3 offset,
                                            javajs.util.BS bs)

    - #### invertAtomCoordPt

          public void invertAtomCoordPt(javajs.util.P3 pt,
                                        javajs.util.BS bs)

    - #### invertAtomCoordPlane

          public void invertAtomCoordPlane(javajs.util.P4 plane,
                                           javajs.util.BS bs)

    - #### invertRingAt

          public void invertRingAt(int atomIndex,
                                   boolean isClick)

    - #### invertSelected

          public void invertSelected(javajs.util.P3 pt,
                                     javajs.util.P4 plane,
                                     int iAtom,
                                     javajs.util.BS bsAtoms)

    - #### moveAtoms

          public void moveAtoms(javajs.util.M4 m4,
                                javajs.util.M3 mNew,
                                javajs.util.M3 rotation,
                                javajs.util.V3 translation,
                                javajs.util.P3 center,
                                boolean isInternal,
                                javajs.util.BS bsAtoms,
                                boolean translationOnly)

    - #### moveSelected

          public void moveSelected(int deltaX,
                                   int deltaY,
                                   int deltaZ,
                                   int x,
                                   int y,
                                   javajs.util.BS bsSelected,
                                   boolean isTranslation,
                                   boolean asAtoms,
                                   int modifiers)

    - #### highlightBond

          public void highlightBond(int index,
                                    int closestAtomIndex,
                                    int x,
                                    int y)

      from Sticks
      Parameters:
        `index` -
        `closestAtomIndex` -

    - #### highlight

          public void highlight(javajs.util.BS bs)

    - #### refreshMeasures

          public void refreshMeasures(boolean andStopMinimization)

    - #### functionXY

          public float[][] functionXY(java.lang.String functionName,
                                      int nX,
                                      int nY)

      fills an array with data -- if nX < 0 and this would involve JavaScript, then this reads a full set of Double[][] in one function call. Otherwise it reads the values using individual function calls, which each return Double. If the functionName begins with "file:" then data are read from a file specified after the colon. The sign of nX is not relevant in that case. The file may contain mixed numeric and non-numeric values; the non-numeric values will be skipped by Parser.parseFloatArray
      Parameters:
        `functionName` -
        `nX` -
        `nY` -
      Returns:
        nX by nY array of floating values

    - #### functionXYZ

          public float[][][] functionXYZ(java.lang.String functionName,
                                         int nX,
                                         int nY,
                                         int nZ)

    - #### extractMolData

          public java.lang.String extractMolData(java.lang.String what)

      Specified by:
        `extractMolData` in class `JmolViewer`

    - #### getNMRPredict

          public java.lang.String getNMRPredict(java.lang.String type)

      Parameters:
        `type` - C13 or H1
      Returns:
        null

    - #### getHelp

          public void getHelp(java.lang.String what)

    - #### getChemicalInfo

          public java.lang.String getChemicalInfo(java.lang.String smiles,
                                                  java.lang.String info,
                                                  javajs.util.BS bsAtoms)

    - #### addCommand

          public void addCommand(java.lang.String command)

      Adds one or more commands to the command history
      Parameters:
        `command` - the command to add

    - #### pushState

          public void pushState()

    - #### popState

          public void popState()

    - #### removeCommand

          public java.lang.String removeCommand()

      Removes one command from the command history
      Returns:
        command removed

    - #### getSetHistory

          public java.lang.String getSetHistory(int howFarBack)

      Options include: ; all n == Integer.MAX_VALUE ; n prev n >= 1 ; next n == -1 ; set max to -2 - n n <= -3 ; just clear n == -2 ; clear and turn off; return "" n == 0 ; clear and turn on; return "" n == Integer.MIN_VALUE;
      Specified by:
        `getSetHistory` in class `JmolViewer`
      Parameters:
        `howFarBack` - number of lines (-1 for next line)
      Returns:
        one or more lines of command history

    - #### historyFind

          public java.lang.String historyFind(java.lang.String cmd,
                                              int dir)

    - #### setHistory

          public void setHistory(java.lang.String fileName)

    - #### getOutputChannel

          public javajs.util.OC getOutputChannel(java.lang.String localName,
                                                 java.lang.String[] fullPath)

    - #### writeTextFile

          public java.lang.String writeTextFile(java.lang.String fileName,
                                                java.lang.String data)

      Specified by:
        `writeTextFile` in class `JmolViewer`

    - #### clipImageOrPasteText

          public java.lang.String clipImageOrPasteText(java.lang.String text)

      Specified by:
        `clipImageOrPasteText` in class `JmolViewer`
      Parameters:
        `text` - null here clips image; String pastes text
      Returns:
        "OK image to clipboard: [width] * [height] or "OK text to clipboard: [length]

    - #### getClipboardText

          public java.lang.String getClipboardText()

      Specified by:
        `getClipboardText` in class `JmolViewer`

    - #### processWriteOrCapture

          public java.lang.String processWriteOrCapture(java.util.Map<java.lang.String,java.lang.Object> params)

      from eval write command only includes option to write set of files
      Parameters:
        `params` -
      Returns:
        message starting with "OK" or an error message

    - #### createZip

          public java.lang.Object createZip(java.lang.String fileName,
                                            java.lang.String type,
                                            java.util.Map<java.lang.String,java.lang.Object> params)

    - #### outputToFile

          public java.lang.String outputToFile(java.util.Map<java.lang.String,java.lang.Object> params)

      Specified by:
        `outputToFile` in class `JmolViewer`
      Parameters:
        `params` - include type, fileName, text, bytes, quality, width, height
      Returns:
        null (canceled) or a message starting with OK or an error message

    - #### getOutputManager

          private OutputManager getOutputManager()

    - #### setSyncTarget

          private void setSyncTarget(int mode,
                                     boolean TF)

    - #### syncScript

          public void syncScript(java.lang.String script,
                                 java.lang.String applet,
                                 int port)

      Specified by:
        `syncScript` in class `JmolViewer`

    - #### getModelIndexFromId

          public int getModelIndexFromId(java.lang.String id)

      Specified by:
        `getModelIndexFromId` in class `JmolViewer`
      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

    - #### setSyncDriver

          public void setSyncDriver(int mode)

    - #### setProteinType

          public void setProteinType(STR type,
                                     javajs.util.BS bs)

    - #### getVanderwaalsMar

          public int getVanderwaalsMar(int i)

    - #### getVanderwaalsMarType

          public int getVanderwaalsMarType(int atomicAndIsotopeNumber,
                                           VDW type)

    - #### setVdwStr

          void setVdwStr(java.lang.String name)

    - #### setUserVdw

          void setUserVdw(VDW mode)

    - #### getDefaultVdwNameOrData

          public java.lang.String getDefaultVdwNameOrData(int mode,
                                                          VDW type,
                                                          javajs.util.BS bs)

    - #### deleteAtoms

          public int deleteAtoms(javajs.util.BS bsAtoms,
                                 boolean fullModels)

    - #### deleteModels

          public int deleteModels(int modelIndex,
                                  javajs.util.BS bsAtoms)

      called by ZAP {atomExpression} when atoms are present or the command is specific for a model, such as ZAP 2.1
      Parameters:
        `modelIndex` -
        `bsAtoms` -
      Returns:
        number of atoms deleted

    - #### deleteBonds

          public void deleteBonds(javajs.util.BS bsDeleted)

    - #### deleteModelAtoms

          public void deleteModelAtoms(int modelIndex,
                                       int firstAtomIndex,
                                       int nAtoms,
                                       javajs.util.BS bsModelAtoms)

    - #### getQuaternionFrame

          public char getQuaternionFrame()

    - #### loadImageData

          public boolean loadImageData(java.lang.Object image,
                                       java.lang.String nameOrError,
                                       java.lang.String echoName,
                                       ScriptContext sc)

      NOTE: This method is called from within a j2sNative block in awtjs2d.Platform.java as well as from FileManager.loadImage
      Parameters:
        `image` - could be a byte array
        `nameOrError` -
        `echoName` - if this is an echo rather than the background
        `sc` - delivered in JavaScript from Platform.java
      Returns:
        false

    - #### cd

          public java.lang.String cd(java.lang.String dir)

    - #### setErrorMessage

          public java.lang.String setErrorMessage(java.lang.String errMsg,
                                                  java.lang.String errMsgUntranslated)

    - #### getErrorMessage

          public java.lang.String getErrorMessage()

      Specified by:
        `getErrorMessage` in class `JmolViewer`

    - #### getErrorMessageUn

          public java.lang.String getErrorMessageUn()

      Specified by:
        `getErrorMessageUn` in class `JmolViewer`

    - #### setShapeErrorState

          public void setShapeErrorState(int shapeID,
                                         java.lang.String state)

    - #### getShapeErrorState

          public java.lang.String getShapeErrorState()

    - #### handleError

          public void handleError(java.lang.Error er,
                                  boolean doClear)

    - #### getFunctions

          public java.util.Map<java.lang.String,JmolScriptFunction> getFunctions(boolean isStatic)

    - #### removeFunction

          public void removeFunction(java.lang.String name)

    - #### getFunction

          public JmolScriptFunction getFunction(java.lang.String name)

    - #### isStaticFunction

          private static boolean isStaticFunction(java.lang.String name)

    - #### isFunction

          public boolean isFunction(java.lang.String name)

    - #### clearFunctions

          public void clearFunctions()

    - #### addFunction

          public void addFunction(JmolScriptFunction function)

    - #### getFunctionCalls

          public java.lang.String getFunctionCalls(java.lang.String selectedFunction)

    - #### checkPrivateKey

          public boolean checkPrivateKey(double privateKey)

      Simple method to ensure that the image creator (which writes files) was in fact opened by this vwr and not by some manipulation of the applet. When the image creator is used it requires both a vwr object and that vwr's private key. But the private key is private, so it is not possible to create a useable image creator without working through a vwr's own methods. Bob Hanson, 9/20/2009
      Parameters:
        `privateKey` -
      Returns:
        true if privateKey matches

    - #### bindAction

          public void bindAction(java.lang.String desc,
                                 java.lang.String name)

    - #### unBindAction

          public void unBindAction(java.lang.String desc,
                                   java.lang.String name)

    - #### calculateStruts

          public int calculateStruts(javajs.util.BS bs1,
                                     javajs.util.BS bs2)

    - #### getPreserveState

          public boolean getPreserveState()

      This flag if set FALSE: 1) turns UNDO off for the application 2) turns history off 3) prevents saving of inlinedata for later LOAD "" commands 4) turns off the saving of changed atom properties 5) does not guarantee accurate state representation 6) disallows generation of the state It is useful in situations such as web sites where memory is an issue and there is no need for such.
      Returns:
        TRUE or FALSE

    - #### isKiosk

          boolean isKiosk()

    - #### hasFocus

          public boolean hasFocus()

    - #### setFocus

          public void setFocus()

    - #### stopMinimization

          void stopMinimization()

    - #### clearMinimization

          void clearMinimization()

    - #### getMinimizationInfo

          public java.lang.String getMinimizationInfo()

    - #### checkMinimization

          private void checkMinimization()

    - #### minimize

          public void minimize(JmolScriptEvaluator eval,
                               int steps,
                               float crit,
                               javajs.util.BS bsSelected,
                               javajs.util.BS bsFixed,
                               float rangeFixed,
                               boolean addHydrogen,
                               boolean isOnly,
                               boolean isSilent,
                               boolean isLoad2D)
                        throws java.lang.Exception

      Parameters:
        `eval` -
        `steps` - Integer.MAX_VALUE --> use defaults
        `crit` - -1 --> use defaults
        `bsSelected` -
        `bsFixed` -
        `rangeFixed` -
        `addHydrogen` -
        `isOnly` -
        `isSilent` -
        `isLoad2D` -
      Throws:
        `java.lang.Exception`

    - #### setMotionFixedAtoms

          public void setMotionFixedAtoms(javajs.util.BS bs)

    - #### getMotionFixedAtoms

          public javajs.util.BS getMotionFixedAtoms()

    - #### getAtomicPropertyState

          void getAtomicPropertyState(javajs.util.SB commands,
                                      byte type,
                                      javajs.util.BS bs,
                                      java.lang.String name,
                                      float[] data)

    - #### getCenterAndPoints

          public javajs.util.P3[][] getCenterAndPoints(javajs.util.Lst<java.lang.Object[]> atomSets,
                                                       boolean addCenter)

    - #### writeFileData

          public java.lang.String writeFileData(java.lang.String fileName,
                                                java.lang.String type,
                                                int modelIndex,
                                                java.lang.Object[] parameters)

    - #### getPdbData

          public java.lang.String getPdbData(int modelIndex,
                                             java.lang.String type,
                                             javajs.util.BS bsAtoms,
                                             java.lang.Object[] parameters,
                                             javajs.util.OC oc,
                                             boolean getStructure)

    - #### getGroupsWithin

          public javajs.util.BS getGroupsWithin(int nResidues,
                                                javajs.util.BS bs)

    - #### setShapeSize

          public void setShapeSize(int shapeID,
                                   int madOrMad10,
                                   javajs.util.BS bsSelected)

      Parameters:
        `shapeID` -
        `madOrMad10` - for axes, unitcell, and boundbox 10*mad; otherwise milliangstrom diameter
        `bsSelected` -

    - #### setShapeProperty

          public void setShapeProperty(int shapeID,
                                       java.lang.String propertyName,
                                       java.lang.Object value)

    - #### getShapeProperty

          public java.lang.Object getShapeProperty(int shapeType,
                                                   java.lang.String propertyName)

    - #### getShapePropertyAsInt

          private int getShapePropertyAsInt(int shapeID,
                                            java.lang.String propertyName)

    - #### setModelVisibility

          public void setModelVisibility()

    - #### resetShapes

          public void resetShapes(boolean andCreateNew)

    - #### setParallel

          public boolean setParallel(boolean TF)

    - #### isParallel

          public boolean isParallel()

    - #### undoClear

          void undoClear()

    - #### undoMoveAction

          public void undoMoveAction(int action,
                                     int n)

      Parameters:
        `action` - Token.undo or Token.redo
        `n` - number of steps to go back/forward; 0 for all; -1 for clear; -2 for clear BOTH

    - #### undoMoveActionClear

          public void undoMoveActionClear(int taintedAtom,
                                          int type,
                                          boolean clearRedo)

    - #### moveAtomWithHydrogens

          protected void moveAtomWithHydrogens(int atomIndex,
                                               int deltaX,
                                               int deltaY,
                                               int deltaZ,
                                               javajs.util.BS bsAtoms)

    - #### isModelPDB

          public boolean isModelPDB(int i)

    - #### deleteMeasurement

          public void deleteMeasurement(int i)

      Specified by:
        `deleteMeasurement` in class `JmolViewer`

    - #### getSmiles

          public java.lang.String getSmiles(javajs.util.BS bs)
                                     throws java.lang.Exception

      Specified by:
        `getSmiles` in class `JmolViewer`
      Throws:
        `java.lang.Exception`

    - #### getOpenSmiles

          public java.lang.String getOpenSmiles(javajs.util.BS bs)
                                         throws java.lang.Exception

      Specified by:
        `getOpenSmiles` in class `JmolViewer`
      Throws:
        `java.lang.Exception`

    - #### getBioSmiles

          public java.lang.String getBioSmiles(javajs.util.BS bs)
                                        throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getSmilesOpt

          public java.lang.String getSmilesOpt(javajs.util.BS bsSelected,
                                               int index1,
                                               int index2,
                                               int flags,
                                               java.lang.String options)
                                        throws java.lang.Exception

      returns the SMILES string for a sequence or atom set does not include attached protons on groups
      Parameters:
        `bsSelected` - selected atom set or null for current or specified range
        `index1` - when bsSeleced == null, first atomIndex or -1 for current
        `index2` - when bsSeleced == null, end atomIndex or -1 for current
        `flags` - see JC.SMILES_xxxx
        `options` - e.g. /strict,open/
      Returns:
        SMILES string
      Throws:
        `java.lang.Exception`

    - #### alert

          public void alert(java.lang.String msg)

    - #### prompt

          public java.lang.String prompt(java.lang.String label,
                                         java.lang.String data,
                                         java.lang.String[] list,
                                         boolean asButtons)

    - #### dialogAsk

          public java.lang.String dialogAsk(java.lang.String type,
                                            java.lang.String fileName,
                                            java.util.Map<java.lang.String,java.lang.Object> params)

      Ask for new file name when opening a file
      Parameters:
        `type` -
        `fileName` -
        `params` -
      Returns:
        new file name

    - #### initializeExporter

          public JmolRendererInterface initializeExporter(java.util.Map<java.lang.String,java.lang.Object> params)

    - #### getMouseEnabled

          public boolean getMouseEnabled()

    - #### calcAtomsMinMax

          public void calcAtomsMinMax(javajs.util.BS bs,
                                      BoxInfo boxInfo)

      Specified by:
        `calcAtomsMinMax` in class `JmolViewer`

    - #### getObjectMap

          public void getObjectMap(java.util.Map<java.lang.String,?> map,
                                   char c)

      used in autocompletion in console using TAB
      Parameters:
        `map` -
        `c` -

    - #### setPicked

          public void setPicked(int atomIndex,
                                boolean andReset)

    - #### runScript

          public java.lang.String runScript(java.lang.String script)

      Run a script using the script function script("xxxxxx") using direct script tokens for script ( "xxxxxxx" )
      Specified by:
        `runScript` in class `JmolViewer`
      Returns:
        string from ScriptEvaluator#outputBuffer

    - #### runScriptCautiously

          public java.lang.String runScriptCautiously(java.lang.String script)

      formerly runScript(), this method really can ONLY be called by the viewer being run from an already-running script. If it is invoked by a separate thread, it can wreak havoc on any queued thread, since they are not thread safe.
      Overrides:
        `runScriptCautiously` in class `JmolViewer`
      Parameters:
        `script` -
      Returns:
        output of the script.

    - #### setFrameDelayMs

          public void setFrameDelayMs(long millis)

    - #### getBaseModelBitSet

          public javajs.util.BS getBaseModelBitSet()

    - #### clearTimeouts

          public void clearTimeouts()

    - #### setTimeout

          public void setTimeout(java.lang.String name,
                                 int mSec,
                                 java.lang.String script)

    - #### triggerTimeout

          public void triggerTimeout(java.lang.String name)

    - #### clearTimeout

          public void clearTimeout(java.lang.String name)

    - #### showTimeout

          public java.lang.String showTimeout(java.lang.String name)

    - #### getOrCalcPartialCharges

          public float[] getOrCalcPartialCharges(javajs.util.BS bsSelected,
                                                 javajs.util.BS bsIgnore)
                                          throws JmolAsyncException

      Throws:
        `JmolAsyncException`

    - #### calculatePartialCharges

          public void calculatePartialCharges(javajs.util.BS bsSelected)
                                       throws JmolAsyncException

      Throws:
        `JmolAsyncException`

    - #### setCurrentModelID

          public void setCurrentModelID(java.lang.String id)

    - #### cacheClear

          public void cacheClear()

    - #### cachePut

          public void cachePut(java.lang.String key,
                               java.lang.Object data)

      JSInterface -- allows saving files in memory for later retrieval
      Parameters:
        `key` -
        `data` -

    - #### cacheFileByName

          public int cacheFileByName(java.lang.String fileName,
                                     boolean isAdd)

    - #### clearThreads

          public void clearThreads()

    - #### getEvalContextAndHoldQueue

          public ScriptContext getEvalContextAndHoldQueue(JmolScriptEvaluator eval)

    - #### resizeInnerPanel

          public int[] resizeInnerPanel(int width,
                                        int height)

      Specified by:
        `resizeInnerPanel` in class `JmolViewer`

    - #### getDefaultPropertyParam

          public java.lang.String getDefaultPropertyParam(int propertyID)

    - #### getPropertyNumber

          public int getPropertyNumber(java.lang.String name)

    - #### checkPropertyParameter

          public boolean checkPropertyParameter(java.lang.String name)

    - #### extractProperty

          public java.lang.Object extractProperty(java.lang.Object property,
                                                  java.lang.Object args,
                                                  int pt)

    - #### addHydrogens

          public javajs.util.BS addHydrogens(javajs.util.BS bsAtoms,
                                             boolean is2DLoad,
                                             boolean isSilent)

    - #### addHydrogensInline

          public javajs.util.BS addHydrogensInline(javajs.util.BS bsAtoms,
                                                   javajs.util.Lst<Atom> vConnections,
                                                   javajs.util.P3[] pts)
                                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### evalFunctionFloat

          public float evalFunctionFloat(java.lang.Object func,
                                         java.lang.Object params,
                                         float[] values)

      Specified by:
        `evalFunctionFloat` in interface `AtomDataServer`

    - #### evalParallel

          public boolean evalParallel(ScriptContext context,
                                      ShapeManager shapeManager)

    - #### evaluateExpression

          public java.lang.Object evaluateExpression(java.lang.Object stringOrTokens)

      synchronized here trapped the eventQueue; see also evaluateExpressionAsVariable
      Specified by:
        `evaluateExpression` in class `JmolViewer`

    - #### evaluateExpressionAsVariable

          public SV evaluateExpressionAsVariable(java.lang.Object stringOrTokens)

    - #### getAtomBitSet

          public javajs.util.BS getAtomBitSet(java.lang.Object atomExpression)

    - #### getScriptContext

          public ScriptContext getScriptContext(java.lang.String why)

    - #### getAtomDefs

          public java.lang.String getAtomDefs(java.util.Map<java.lang.String,java.lang.Object> names)

    - #### setCGO

          public void setCGO(javajs.util.Lst<java.lang.Object> info)

    - #### setModelSet

          public void setModelSet(ModelSet modelSet)

    - #### setObjectProp

          public java.lang.String setObjectProp(java.lang.String id,
                                                int tokCommand)

    - #### setDihedrals

          public void setDihedrals(float[] dihedralList,
                                   javajs.util.BS[] bsBranches,
                                   float rate)

    - #### getChainID

          public int getChainID(java.lang.String id,
                                boolean isAssign)

      Create a unique integer for any chain string. Note that if there are any chains that are more than a single character, chainCaseSensitive is automatically set TRUE
      Parameters:
        `id` - < 256 is just the character of a single-character upper-case chain id, upper or lower case query; >= 256 < 300 is lower case found in structure
        `isAssign` - from a file reader, not a select query
      Returns:
        i

    - #### getChainIDStr

          public java.lang.String getChainIDStr(int id)

    - #### getScriptQueueInfo

          public java.lang.Boolean getScriptQueueInfo()

    - #### getNMRCalculation

          public JmolNMRInterface getNMRCalculation()

    - #### getDistanceUnits

          public java.lang.String getDistanceUnits(java.lang.String s)

    - #### calculateFormalCharges

          public int calculateFormalCharges(javajs.util.BS bs)

    - #### setModulation

          public void setModulation(javajs.util.BS bs,
                                    boolean isOn,
                                    javajs.util.P3 t1,
                                    boolean isQ)

    - #### checkInMotion

          public void checkInMotion(int state)

    - #### checkMotionRendering

          public boolean checkMotionRendering(int tok)

      check motion for rendering during mouse movement, spin, vibration, and animation
      Parameters:
        `tok` -
      Returns:
        TRUE if allowed

    - #### openExportChannel

          public javajs.util.OC openExportChannel(double privateKey,
                                                  java.lang.String fileName,
                                                  boolean asWriter)
                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### log

          public void log(java.lang.String data)

      Specified by:
        `log` in interface `AtomDataServer`

    - #### getLogFileName

          public java.lang.String getLogFileName()

    - #### getCommands

          public java.lang.String getCommands(java.util.Map<java.lang.String,javajs.util.BS> htDefine,
                                              java.util.Map<java.lang.String,javajs.util.BS> htMore,
                                              java.lang.String select)

    - #### allowCapture

          public boolean allowCapture()

    - #### compileExpr

          public T[] compileExpr(java.lang.String expr)

    - #### checkSelect

          public boolean checkSelect(java.util.Map<java.lang.String,SV> h,
                                     T[] value)

    - #### getAnnotationInfo

          public java.lang.String getAnnotationInfo(SV d,
                                                    java.lang.String match,
                                                    int type)

    - #### getAtomValidation

          public javajs.util.Lst<java.lang.Float> getAtomValidation(java.lang.String type,
                                                                    Atom atom)

    - #### getJzt

          public javajs.api.GenericZipTools getJzt()

    - #### dragMinimizeAtom

          void dragMinimizeAtom(int iAtom)

    - #### getJBR

          public BioResolver getJBR()

    - #### checkMenuUpdate

          public void checkMenuUpdate()

    - #### getChimeMessenger

          public JmolChimeMessenger getChimeMessenger()

    - #### getAuxiliaryInfoForAtoms

          public java.lang.Object getAuxiliaryInfoForAtoms(java.lang.Object atomExpression)

    - #### getJSJSONParser

          private javajs.util.JSJSONParser getJSJSONParser()

    - #### parseJSON

          public java.lang.Object parseJSON(java.lang.String str)

    - #### parseJSONMap

          public java.util.Map<java.lang.String,java.lang.Object> parseJSONMap(java.lang.String jsonMap)

    - #### parseJSONArray

          public javajs.util.Lst<java.lang.Object> parseJSONArray(java.lang.String jsonArray)

    - #### getSymTemp

          public SymmetryInterface getSymTemp()

      Retrieve a Symmetry object, possibly re-using an old one.
      Returns:
        org.jmol.symmetry.Symmetry object

    - #### setWindowDimensions

          public void setWindowDimensions(float[] dims)

    - #### getTriangulator

          public Triangulator getTriangulator()

    - #### getCurrentModelAuxInfo

          public java.util.Map<java.lang.String,java.lang.Object> getCurrentModelAuxInfo()

    - #### startNBO

          public void startNBO(java.lang.String options)

    - #### startPlugin

          public void startPlugin(java.lang.String plugin)

      startup -U nbo option
      Parameters:
        `plugin` -

    - #### connectNBO

          public void connectNBO(java.lang.String type)

    - #### getNBOParser

          private NBOParser getNBOParser()

    - #### getNBOAtomLabel

          public java.lang.String getNBOAtomLabel(Atom atom)

    - #### calculateChirality

          public java.lang.String calculateChirality(javajs.util.BS bsAtoms)

    - #### getSubstructureSetArray

          public javajs.util.BS[] getSubstructureSetArray(java.lang.String pattern,
                                                          javajs.util.BS bsSelected,
                                                          int flags)
                                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getSubstructureSetArrayForNodes

          public javajs.util.BS[] getSubstructureSetArrayForNodes(java.lang.String pattern,
                                                                  Node[] nodes,
                                                                  int flags)
                                                           throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getPdbID

          public java.lang.String getPdbID()

    - #### getModelInfo

          public java.lang.Object getModelInfo(java.lang.String key)

      get a value from the current model's Model.auxiliaryInfo
      Parameters:
        `key` -
      Returns:
        value, or null if there is no SINGLE current model

    - #### getSmilesAtoms

          public Node[] getSmilesAtoms(java.lang.String smiles)
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### calculateChiralityForSmiles

          public java.lang.String[] calculateChiralityForSmiles(java.lang.String smiles)

    - #### getModelForAtomIndex

          public Model getModelForAtomIndex(int iatom)

    - #### assignAtom

          public void assignAtom(int atomIndex,
                                 java.lang.String element,
                                 javajs.util.P3 ptNew)

    - #### getModelkit

          public ModelKitPopup getModelkit(boolean andShow)

    - #### notifyScriptEditor

          public void notifyScriptEditor(int msWalltime,
                                         java.lang.Object[] data)

    - #### sendConsoleMessage

          public void sendConsoleMessage(java.lang.String msg)

    - #### getModelkitProperty

          public java.lang.Object getModelkitProperty(java.lang.Object nameOrData)

      Parameters:
        `nameOrData` - could be name or [name,value]
      Returns:
        value

    - #### setModelkitProperty

          public java.lang.Object setModelkitProperty(java.lang.String key,
                                                      java.lang.Object value)

    - #### getSymmetryInfo

          public java.lang.Object getSymmetryInfo(int iatom,
                                                  java.lang.String xyz,
                                                  int iOp,
                                                  javajs.util.P3 pt1,
                                                  javajs.util.P3 pt2,
                                                  int type,
                                                  java.lang.String desc,
                                                  float scaleFactor,
                                                  int nth,
                                                  int options)

      A general method for retrieving symmetry information with full capability of the symop() scripting function.
      Parameters:
        `iatom` - atom index specifying the model set and used for pt1 if that is null and also for matching element type.
        `xyz` - the desired Jones-Faithful representation of the symmetry operation or null
        `iOp` - the desired symmetry operation [1-n] or 0
        `pt1` - the starting point, or null if to use iatom or otherwise unnecessary
        `pt2` - the target point, if this is a point-to-point determination, or the offset if not and options is nonzero
        `type` - a token type such as T.list or T.array
        `desc` - if type == T.nada (0), a name evaluating to a type, or one of the special names: "info", "description", "matrix", "axispoint", or "time" (as in time-reversal); otherwise, if type == T.draw, the root id given to a returned DRAW command set
        `scaleFactor` - if nonzero and type == T.draw, a scaling factor to be applied to the rotational vector
        `nth` - in the case of a point-to-point determination, the nth matching operator, or 0 for "all"
        `options` - if nonzero, a option, currently just T.offset, indicating that pt1 is an {i j k} offset from cell 555
      Returns:
        string, Object[], or Lst

    - #### setModelKitRotateBondIndex

          public void setModelKitRotateBondIndex(int i)

      Parameters:
        `i` - Integer.MIN_VALUE initializes the bond index

    - #### getMacro

          public java.lang.String getMacro(java.lang.String key)

      retrieve macros.json from the directory
      Parameters:
        `key` -
      Returns:
        the macro path