Package org.jmol.script
Class SV
java.lang.Object
org.jmol.script.T
org.jmol.script.SV
- All Implemented Interfaces:
javajs.api.JSONEncodable
ScriptVariable class
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionint
(package private) static final javajs.util.P3
static final SV
static final SV
static final SV
Fields inherited from class org.jmol.script.T
__, _args, abs, absolute, acos, add, addhydrogens, adjust, adpmax, adpmin, align, all, allconnected, allfloat, allowaudio, allowembeddedscripts, allowgestures, allowkeystrokes, allowmodelkit, allowmoveatoms, allowmultitouch, allowrotateselected, altloc, ambientocclusion, ambientpercent, amino, andequals, angle, angstroms, animation, animationfps, animationmode, anisotropy, antialiasdisplay, antialiasimages, antialiastranslucent, apivot, append, appendnew, appletproxy, applysymmetrytobonds, arc, area, aromatic, array, arrow, as, assign, astrType, async, atomExpressionCommand, atomicorbital, atomid, atomindex, atomname, atomno, atompicking, atomproperty, atoms, atomtype, atomtypes, atomx, atomy, atomz, audio, auto, autobond, autofps, autoplaymovie, average, axes, axescolor, axesmode, axesmolecular, axesoffset, axesorientationrasmol, axesscale, axesunitcell, axeswindow, axis, axis1color, axis2color, axis3color, axisangle, babel, babel21, back, backbone, background, backgroundcolor, backgroundmodel, backlit, backshell, balls, barb, barray, basemodel, basepair, best, beta, bin, binary, bind, bitset, blockdata, bondcount, bonded, bondingradius, bondingversion, bondmode, bondmodeor, bondorder, bondpicking, bondradiusmilliangstroms, bonds, bondset, bondtolerance, booleanparam, bottom, boundbox, boundboxcolor, branch, breakcmd, brillouin, cache, calculate, cameradepth, cancel, cap, capture, carbohydrate, cartoon, cartoonbaseedges, cartoonblockheight, cartoonblocks, cartoonladders, cartoonribose, cartoonrockets, cartoonsfancy, cartoonsteps, casecmd, catchcmd, cavity, cd, cell, celshading, celshadingpower, center, centerat, centroid, cgo, chain, chaincasesensitive, chainno, check, checkcir, chemical, chemicalshift, chirality, ciprule, ciprule6full, circle, clash, clear, clickable, clipboard, col, collapsed, colon, color, colorrasmol, colorscheme, comma, command, commands, comparator, compare, configuration, connect, connected, console, constraint, contact, context, contextdepthmax, continuecmd, contour, contourlines, contours, coord, corners, cos, count, covalentradius, create, criterion, cross, crossed, currentlocalpath, curve, cutoff, cylinder, data, dataseparator, debug, debughigh, debugscript, decimal, defaultanglelabel, defaultcmd, defaultcolorscheme, defaultdirectory, defaultdistancelabel, defaultdrawarrowscale, defaultdropscript, defaultlabelpdb, defaultlabelxyz, defaultlattice, defaultloadfilter, defaultloadscript, defaultON, defaults, defaultstructuredssp, defaulttorsionlabel, defaulttranslucent, defaultvdw, define, delay, delaymaximumms, delete, density, deprecatedparam, depth, diameter, diffusepercent, dipole, dipolescale, direction, disablepopupmenu, discrete, displacement, display, displaycellparameters, displayed, distance, distancefactor, div, divide, dna, dollarsign, domains, dot, dotdensity, dots, dotscale, dotsselectedonly, dotsurface, dotted, doubleprecision, downsample, dragselected, draw, drawfontsize, drawhover, drawing, drawpicking, dssp, dsspcalchydrogen, dssr, dynamicmeasurements, eccentricity, echo, ed, edges, edgesonly, eds, edsdiff, element, elemisono, elemno, ellipsoid, ellipsoidarcs, ellipsoidarrows, ellipsoidaxes, ellipsoidaxisdiameter, ellipsoidball, ellipsoiddotcount, ellipsoiddots, ellipsoidfill, elsecmd, elseif, end, endifcmd, energy, energyunits, error, eta, eval, exit, exitjmol, exportscale, expressionBegin, expressionEnd, facecenteroffset, file, filecachedirectory, filecaching, fill, filter, find, first, fixed, fixedtemp, flat, floatparam, floatproperty, flowCommand, font, fontcaching, fontscaling, fontsize, forceautobond, forcefield, forcmd, formalcharge, format, fps, fractionalrelative, fracx, fracxyz, fracy, fracz, frame, frank, from, front, frontedges, frontlit, frontonly, full, fullplane, fullylit, function, functionxy, functionxyz, fux, fuxyz, fuy, fuz, geosurface, gestureswipefactor, getproperty, gotocmd, greyscalerendering, gridpoints, group, group1, groupid, groupindex, halo, hash, hbond, hbondhxdistancemaximum, hbondnodistancemaximum, hbondsangleminimum, hbondsbackbone, hbondsrasmol, hbondssolid, helix, helix310, helixalpha, helixpi, helixstep, help, helppath, hermitelevel, hetero, hidden, hiddenlinesdashed, hide, hidenameinpopup, hidenavigationpoint, hidenotselected, highlight, highresolution, history, historylevel, hkl, homo, hover, hoverdelay, hoverlabel, hydrogen, hydrophobicity, id, identifier, identify, ifcmd, ignore, image, imagestate, implicitStringCommand, in, inchi, inchikey, increment, info, infofontsize, initialize, inline, inscode, insertion, insideout, integer, interior, intermolecular, internal, intersection, intparam, intproperty, intramolecular, intValue, invertSelected, isaromatic, iskiosk, isosurface, isosurfacekey, isosurfacepropertysmoothing, isosurfacepropertysmoothingpower, javascript, jmol, jmolinjspecview, join, json, justifymeasurements, keys, label, labelpointerwidth, language, languagetranslation, last, lattice, lcaocartoon, leadatom, left, leftbrace, leftdivide, leftparen, leftsquare, legacyautobonding, legacyhaddition, legacyjavafloat, length, lighting, line, linedata, lines, link, list, listf, load, loadatomdatatolerance, loadformat, loadligandformat, lobe, log, logcommands, logfile, loggestures, loglevel, lonepair, loop, lp, lumo, macro, macrodirectory, magneticshielding, manifest, mapproperty, mass, mathExpressionCommand, mathfunc, mathop, mathproperty, matrix3f, matrix4f, max, maxset, measure, measureallmodels, measurementlabels, measurementnumbers, measurements, measurementunits, menu, mep, mesh, meshRibbon, meshscale, message, messagestylechime, middle, min, minbonddistance, minimizationcriterion, minimizationmaxatoms, minimizationrefresh, minimizationsilent, minimizationsteps, minimize, minmaxmask, minpixelselradius, minset, minus, minusMinus, misc, mlp, mo, mode, model, modelbased, modelindex, modelkitmode, modify, modifyorcreate, modo, modt1, modt2, modt3, modulateoccupancy, modulation, modulationscale, modx, modxyz, mody, modz, molecular, molecule, monitorenergy, monomer, morph, mouse, mousedragfactor, mousewheelfactor, move, moveto, movie, mrc, msms, mul, mul3, multiplebondbananas, multiplebondradiusfactor, multiplebondspacing, multiprocessor, mutate, nada, name, navfps, navigate, navigatesurface, navigationdepth, navigationmode, navigationperiodic, navigationslab, navigationspeed, navx, navy, navz, nbo, nbocharges, nci, next, nihresolverformat, nmr, nmrpredictformat, nmrurlformat, noArgs, nobackshell, nocontourlines, nocross, nodebug, nodelay, nodots, noedges, nofill, nohead, noload, nomesh, none, noplane, normal, notfrontonly, notriangles, now, nucleic, obj, object, occupancy, off, offset, offsetside, omega, on, once, only, opAnd, opAND, opaque, opEQ, opGE, opGT, opIf, opLE, opLIKE, opLT, opNE, opNot, opOr, options, opToggle, opXor, orbital, orientation, origin, out, packed, palindrome, parallel, parameters, paramTypes, partialcharge, partialdots, particleradius, path, pathforallfiles, pause, pdb, pdbaddhydrogens, pdbgetheader, pdbheader, pdbsequential, per, percent, percentvdwatom, period, perpendicular, perper, perspectivedepth, perspectivemodel, phase, phi, phongexponent, picking, pickingspinrate, pickingstyle, picklabel, pivot, pivot2, planarparam, plane, platformspeed, play, playrev, plot, plot3d, plus, plusPlus, pmesh, pocket, point, point3f, point4f, pointgroup, pointgroupdistancetolerance, pointgrouplineartolerance, pointsperangstrom, polygon, polyhedra, polymer, polymerlength, pop, predefinedset, preservestate, prev, print, privat, probe, process, prompt, property, propertyatomnumbercolumncount, propertyatomnumberfield, propertycolorscheme, propertydatacolumncount, propertydatafield, PROPERTYFLAGS, propselector, protein, psi, purine, push, pymol, pyrimidine, quaternion, quaternionframe, quit, rad, radical, radius, ramachandran, random, range, rangeselected, rasmol, redo, redomove, reference, refresh, refreshing, remove, repaintwaitms, replace, reset, residue, resno, resolution, restore, restrict, resume, returncmd, reverse, reversecolor, rewind, ribbon, ribbonaspectratio, ribbonborder, right, rightbrace, rightparen, rightsquare, rmsd, rna, rna3d, rock, rocket, rocketbarrels, rotate, rotate45, rotateSelected, rotation, rotationradius, row, rubberband, sasurface, save, saved, saveproteinstructurestate, scale, scale3d, scaleangstromsperinch, scene, screenx, screenxyz, screeny, screenz, script, scriptCommand, scriptqueue, scriptreportinglevel, search, select, selectallmodels, selected, selectedfloat, selecthetero, selecthydrogen, selection, selectionhalos, semicolon, seqcode, seqid, sequence, set, setparam, settable, shape, shapeCommand, shapely, sheet, sheetsmoothing, show, showaxes, showboundbox, showfrank, showhiddenselectionhalos, showhydrogens, showkeystrokes, showmeasurements, showmodvecs, showmultiplebonds, shownavigationpointalways, showscript, showtiming, showunitcell, showunitcelldetails, sidechain, sigma, sign, silent, sin, site, size, slab, slabbyatom, slabbymolecule, slabenabled, slabrange, smallmoleculemaxatoms, smartaromatic, smiles, smiles2dimageformat, smilesurlformat, solid, solvent, solventprobe, solventproberadius, sort, spacebeforesquare, spacefill, spacegroup, spec_alternate, spec_atom, spec_chain, spec_model, spec_model2, spec_name_pattern, spec_resid, spec_seqcode, spec_seqcode_range, specialposition, specular, specularexponent, specularpercent, specularpower, sphere, spin, spine, spinfps, spinx, spiny, spinz, split, sqrt, squared, ssbond, ssbondsbackbone, star, starwidth, state, statusreporting, stddev, stdinchi, stdinchikey, step, stereo, stereodegrees, stop, straightness, strandcount, strandcountformeshribbon, strandcountforstrands, strands, string, strparam, strproperty, strucid, strucno, structure, strutdefaultradius, strutlengthmaximum, struts, strutsmultiple, strutspacing, sub, subset, substructure, subsystem, sum, sum2, supercell, surface, surfacedistance, switchcmd, symbol, symmetry, symop, sync, syncmouse, syncscript, temperature, tensor, testflag1, testflag2, testflag3, testflag4, theta, thismodel, throwcmd, ticks, timeout, times, timestimes, title, titleformat, to, togglelabel, tok, tokenAll, tokenAnd, tokenAndFALSE, tokenAndSpec, tokenArrayClose, tokenArrayOpen, tokenArraySquare, tokenColon, tokenComma, tokenConnected, tokenCoordinateBegin, tokenCoordinateEnd, tokenDefineString, tokenDivide, tokenEquals, tokenExpressionBegin, tokenExpressionEnd, tokenIf, tokenLeftBrace, tokenLeftParen, tokenMinus, tokenMul3, tokenOff, tokenOn, tokenOpIf, tokenOr, tokenOrTRUE, tokenPlus, tokenRightBrace, tokenRightParen, tokenScript, tokenSet, tokenSetArray, tokenSetCmd, tokenSetProperty, tokenSetVar, tokenSpaceBeforeSquare, tokenSwitch, tokenTimes, top, torsion, trace, tracealpha, trajectory, transform, translate, translateSelected, translation, translucent, triangles, trim, trycmd, twistedsheets, type, unaryMinus, unbind, undo, undoauto, undomax, undomove, unitcell, unitcellcolor, unitx, unitxyz, unity, unitz, url, useminimizationthread, usenumberlocalization, user, usercolorscheme, val, valence, validation, value, vanderwaals, var, variable, variables, varray, vector, vectorscale, vectorscentered, vectorsymmetry, vectortrail, vertices, vibration, vibrationperiod, vibrationscale, vibx, vibxyz, viby, vibz, visible, visualrange, volume, w, waitformoveto, whilecmd, width, wigner, window, windowcentered, wireframe, wireframerotation, within, write, x, xyz, y, z, zap, zdepth, zerobasedxyzrasmol, zoom, zoomenabled, zoomheight, zoomlarge, zoomTo, zshade, zshadepower, zslab
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
For legacy reasons, "x" == "X" but see isLike()boolean
float
asFloat()
int
asInt()
asString()
(package private) static javajs.util.BS
bsSelectRange
(T x, int n) private static javajs.util.BS
bsSelectToken
(T x) static boolean
(package private) boolean
static SV
concatList
(SV x1, SV x2, boolean asNew) static Object
Copies a hash or array deeply; invoked by Jmol script x = @a where a.type == "hash" or a.type == "varray"private static SV
deepCopySV
(SV vm) escape()
static float[][]
fflistValue
(T x, int nMin) static float[]
flistValue
(T x, int nMin) static Object
Accepts arguments from the format() function First argument is a format string.static float
static int
getArrayDepth
(T x) static javajs.util.BS
static SV
getBoolean
(boolean value) static int
getFormatType
(String format) private void
getKeyList
(boolean isAll, javajs.util.Lst<String> keys, String prefix) String[]
getKeys
(boolean isAll) javajs.util.Lst
<SV> getList()
getMap()
getMapKeys
(int nLevels, boolean skipEmpty) static SV
(package private) static SV
getVariableAB
(byte[] ix) static SV
getVariableAD
(double[] f) (package private) static SV
getVariableADD
(double[][] fx) (package private) static SV
getVariableAF
(float[] f) (package private) static SV
getVariableAFF
(float[][] fx) (package private) static SV
getVariableAI
(int[] ix) (package private) static SV
getVariableAII
(int[][] ix) (package private) static SV
getVariableAO
(Object[] o) (package private) static SV
getVariableAP
(javajs.util.T3[] p) (package private) static SV
getVariableAS
(String[] s) (package private) static SV
getVariableASS
(String[][] fx) (package private) static SV
getVariableAV
(SV[] v) static SV
getVariableList
(javajs.util.Lst<?> v) static SV
getVariableMap
(Map<String, ?> x) (package private) boolean
increment
(int n) private static boolean
Must be updated if getVariable is updated!private static boolean
static boolean
a LIKE "x" a is a string and equals x a LIKE "*x" a is a string and ends with x a LIKE "x*" a is a string and starts with x a LIKE "*x*" a is a string and contains xboolean
isNaN()
private static boolean
isRawType
(int tok) static boolean
static boolean
Must be updated if getVariable is updated!static int
void
(package private) SV
static SV
newF
(float f) static SV
newI
(int i) private static SV
Conversion to Jmol variables of JavaScript variables using y = javascript("x")static SV
(package private) static SV
static SV
static SV
(package private) static Object
static Object
static javajs.util.P4
static javajs.util.P3
Script variables are pushed after cloning, because the name comes with them when we do otherwise they are not mutable anyway.static Object
Safely create a JSON key - object pair, allowing for already-named arrays(package private) static T
selectItemTok
(T tokenIn, int i2) (package private) static SV
selectItemVar
(SV var) (package private) void
setSelectedValue
(int pt1, int pt2, SV var) (package private) SV
Creates a NEW version of the variable.(package private) static int
sortMapArray
(String key) sortOrReverse
(int arrayPt) static Object
private static String
sprintf
(String strFormat, SV var, Object[] of, int[] vd, float[] vf, double[] ve, boolean getS, boolean getP, boolean getQ) static String[]
strListValue
(T x) static String
private static void
sValueAddKeys
(javajs.util.SB sb, String path, Map<String, SV> ht, String tabs, boolean isEscaped, boolean addValues, int maxLevels, boolean skipEmpty) private static void
sValueArray
(javajs.util.SB sb, SV vx, String path, String tabs, boolean isEscaped, boolean isRaw, boolean addValues, int maxLevels, boolean skipEmpty) toArray()
private static float
toJSON()
toString()
private static boolean
unEscapeBitSet
(SV x, javajs.util.BS bs) Turn the string "({3:5})" into a bitset(package private) static javajs.util.BS
unEscapeBitSetArray
(javajs.util.Lst<SV> x, boolean allowNull) Turn an array of strings in the form of "{n,n,n:n...} or an array of integers into a bitset.static Object
Methods inherited from class org.jmol.script.T
addToken, completeCommand, equals, getAtomPropertiesLike, getCommandSet, getMaxMathParams, getParamType, getPrecedence, getSettableTokFromString, getTokenFromName, getTokensLike, getTokensType, getTokFromName, hashCode, i, isIDcmd, n, nameOf, o, t, tokAttr, tokAttrOr, toString2, tv
-
Field Details
-
vT
-
vF
-
vNaN
-
index
public int index -
myName
-
pt0
static final javajs.util.P3 pt0
-
-
Constructor Details
-
SV
public SV()
-
-
Method Details
-
newV
-
newI
-
newF
-
newS
-
newT
-
newSV
-
setv
Creates a NEW version of the variable. Object values are not copied. (Just found no use for that.)- Parameters:
v
-- Returns:
- new ScriptVariable
-
sizeOf
-
isVariableType
Must be updated if getVariable is updated!- Parameters:
x
-- Returns:
- if we recognize this as a variable
-
isArray
Must be updated if getVariable is updated!- Parameters:
x
-- Returns:
- if we recognize this as an primitive array type
-
getVariable
- Parameters:
x
-- Returns:
- a ScriptVariable of the input type, or if x is null, then a new ScriptVariable, or, if the type is not found, a string version
-
isASV
-
newJSVar
Conversion to Jmol variables of JavaScript variables using y = javascript("x")- Parameters:
x
- a JavaScript variable, perhaps- Returns:
- SV
-
getVariableMap
-
getVariableList
-
getVariableAV
-
getVariableAD
-
getVariableAO
-
getVariableAS
-
getVariableAP
-
getVariableAFF
-
getVariableADD
-
getVariableASS
-
getVariableAII
-
getVariableAF
-
getVariableAI
-
getVariableAB
-
setName
-
canIncrement
boolean canIncrement() -
increment
boolean increment(int n) -
asBoolean
public boolean asBoolean() -
asInt
public int asInt() -
asFloat
public float asFloat() -
asString
-
oValue
- Parameters:
xx
-- Returns:
- Object-wrapped value
-
nValue
- Parameters:
x
-- Returns:
- numeric value -- integer or decimal
-
bValue
-
iValue
-
fValue
-
sValue
-
sValueArray
-
sValueAddKeys
-
isRawType
private static boolean isRawType(int tok) -
ptValue
-
pt4Value
-
toFloat
-
concatList
-
bsSelectToken
-
bsSelectRange
-
selectItemVar
-
selectItemTok
-
setSelectedValue
-
escape
-
unescapePointOrBitsetAsVariable
-
getBoolean
-
sprintf
-
sprintf
-
getFormatType
- Parameters:
format
-- Returns:
- 0: JSON, 5: base64, 12: bytearray, 22: array
-
format
Accepts arguments from the format() function First argument is a format string.- Parameters:
args
-pt
- 0: to JSON, 5: to base64, 12: to bytearray, 22: to array- Returns:
- formatted string
-
getBitSet
-
unEscapeBitSetArray
Turn an array of strings in the form of "{n,n,n:n...} or an array of integers into a bitset.- Parameters:
x
-allowNull
-- Returns:
- bitset (or null if fails and allowNull is false)
-
areEqual
For legacy reasons, "x" == "X" but see isLike()- Parameters:
x1
-x2
-- Returns:
- x1 == x2
-
isLike
a LIKE "x" a is a string and equals x a LIKE "*x" a is a string and ends with x a LIKE "x*" a is a string and starts with x a LIKE "*x*" a is a string and contains x- Parameters:
x1
-x2
-- Returns:
- x1 LIKE x2
-
sortOrReverse
- Parameters:
arrayPt
- 1-based or Integer.MIN_VALUE to reverse- Returns:
- sorted or reversed array
-
pushPop
Script variables are pushed after cloning, because the name comes with them when we do otherwise they are not mutable anyway. We do want to have actual references to points, lists, and associative arrays- Parameters:
mapKey
-value
- null to pop- Returns:
- array
-
unEscapeBitSet
Turn the string "({3:5})" into a bitset- Parameters:
x
-bs
-- Returns:
- a bitset or a string converted to one
-
strListValue
-
getArrayDepth
-
fflistValue
-
flistValue
-
toArray
-
mapValue
-
getList
-
isScalar
-
toJSON
- Specified by:
toJSON
in interfacejavajs.api.JSONEncodable
-
mapGet
-
mapPut
-
getMap
-
getMapKeys
-
toString
-
getKeys
-
getKeyList
-
deepCopy
Copies a hash or array deeply; invoked by Jmol script x = @a where a.type == "hash" or a.type == "varray"- Parameters:
v
- hash or arrayisHash
-isDeep
- TODO- Returns:
- deeply copied variable
-
deepCopySV
-
sortMapArray
-
safeJSON
Safely create a JSON key - object pair, allowing for already-named arrays- Parameters:
key
-property
-- Returns:
- JSON object
-
isNaN
public boolean isNaN()
-