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.P3static final SVstatic final SVstatic final SVFields 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 booleanFor legacy reasons, "x" == "X" but see isLike()booleanfloatasFloat()intasInt()asString()(package private) static javajs.util.BSbsSelectRange(T x, int n) private static javajs.util.BSbsSelectToken(T x) static boolean(package private) booleanstatic SVconcatList(SV x1, SV x2, boolean asNew) static ObjectCopies a hash or array deeply; invoked by Jmol script x = @a where a.type == "hash" or a.type == "varray"private static SVdeepCopySV(SV vm) escape()static float[][]fflistValue(T x, int nMin) static float[]flistValue(T x, int nMin) static ObjectAccepts arguments from the format() function First argument is a format string.static floatstatic intgetArrayDepth(T x) static javajs.util.BSstatic SVgetBoolean(boolean value) static intgetFormatType(String format) private voidgetKeyList(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 SVgetVariableAB(byte[] ix) static SVgetVariableAD(double[] f) (package private) static SVgetVariableADD(double[][] fx) (package private) static SVgetVariableAF(float[] f) (package private) static SVgetVariableAFF(float[][] fx) (package private) static SVgetVariableAI(int[] ix) (package private) static SVgetVariableAII(int[][] ix) (package private) static SVgetVariableAO(Object[] o) (package private) static SVgetVariableAP(javajs.util.T3[] p) (package private) static SVgetVariableAS(String[] s) (package private) static SVgetVariableASS(String[][] fx) (package private) static SVgetVariableAV(SV[] v) static SVgetVariableList(javajs.util.Lst<?> v) static SVgetVariableMap(Map<String, ?> x) (package private) booleanincrement(int n) private static booleanMust be updated if getVariable is updated!private static booleanstatic booleana 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 xbooleanisNaN()private static booleanisRawType(int tok) static booleanstatic booleanMust be updated if getVariable is updated!static intvoid(package private) SVstatic SVnewF(float f) static SVnewI(int i) private static SVConversion to Jmol variables of JavaScript variables using y = javascript("x")static SV(package private) static SVstatic SVstatic SV(package private) static Objectstatic Objectstatic javajs.util.P4static javajs.util.P3Script variables are pushed after cloning, because the name comes with them when we do otherwise they are not mutable anyway.static ObjectSafely create a JSON key - object pair, allowing for already-named arrays(package private) static TselectItemTok(T tokenIn, int i2) (package private) static SVselectItemVar(SV var) (package private) voidsetSelectedValue(int pt1, int pt2, SV var) (package private) SVCreates a NEW version of the variable.(package private) static intsortMapArray(String key) sortOrReverse(int arrayPt) static Objectprivate static Stringsprintf(String strFormat, SV var, Object[] of, int[] vd, float[] vf, double[] ve, boolean getS, boolean getP, boolean getQ) static String[]strListValue(T x) static Stringprivate static voidsValueAddKeys(javajs.util.SB sb, String path, Map<String, SV> ht, String tabs, boolean isEscaped, boolean addValues, int maxLevels, boolean skipEmpty) private static voidsValueArray(javajs.util.SB sb, SV vx, String path, String tabs, boolean isEscaped, boolean isRaw, boolean addValues, int maxLevels, boolean skipEmpty) toArray()private static floattoJSON()toString()private static booleanunEscapeBitSet(SV x, javajs.util.BS bs) Turn the string "({3:5})" into a bitset(package private) static javajs.util.BSunEscapeBitSetArray(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 ObjectMethods 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:
toJSONin 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()
-