class ScriptMathProcessor
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private boolean |
asBitSet |
private boolean |
asVector |
private int |
braceCount |
private boolean |
chk
Reverse Polish Notation Engine for IF, SET, and %{...} -- Bob Hanson
2/16/2007 Just a (not so simple?) RPN processor that can handle boolean,
int, float, String, Point3f, BitSet, Array, Hashtable, Matrix3f, Matrix4f
hansonr@stolaf.edu
|
private int |
equalCount |
private ScriptEvaluator |
eval |
private boolean |
haveSpaceBeforeSquare |
private int |
ifPt |
private char[] |
ifStack |
private int |
incrementX |
private boolean |
isArrayItem |
private boolean |
logMessages |
private int |
oPt |
private T[] |
oStack |
private int |
parenCount |
private int |
ptid |
private int |
ptx |
private boolean |
skipping |
private int |
squareCount |
private Viewer |
viewer |
private boolean |
wasSyntaxCheck |
private boolean |
wasX |
private int |
xPt |
private SV[] |
xStack |
| Constructor and Description |
|---|
ScriptMathProcessor(ScriptEvaluator eval,
boolean isArrayItem,
boolean asVector,
boolean asBitSet) |
| Modifier and Type | Method and Description |
|---|---|
(package private) boolean |
addOp(T op)
addOp The primary driver of the Reverse Polish Notation evaluation engine.
|
(package private) boolean |
addOpAllowMath(T op,
boolean allowMathFunc) |
(package private) boolean |
addXAD(double[] x) |
(package private) boolean |
addXAF(float[] x) |
(package private) boolean |
addXAFF(float[][] x) |
(package private) boolean |
addXAI(int[] x) |
(package private) boolean |
addXAII(int[][] x) |
(package private) boolean |
addXAS(java.lang.String[] x) |
(package private) boolean |
addXAV(SV[] x) |
private boolean |
addXBool(boolean x) |
(package private) boolean |
addXBs(BS bs) |
private boolean |
addXFloat(float x) |
private boolean |
addXInt(int x) |
private boolean |
addXList(JmolList<?> x) |
private boolean |
addXM3(Matrix3f x) |
private boolean |
addXM4(Matrix4f x) |
private boolean |
addXMap(java.util.Map<java.lang.String,?> x) |
(package private) boolean |
addXNum(SV x) |
(package private) boolean |
addXObj(java.lang.Object x) |
(package private) boolean |
addXPt(P3 pt) |
(package private) boolean |
addXPt4(P4 pt) |
(package private) boolean |
addXStr(java.lang.String x) |
(package private) boolean |
addXVar(SV x) |
private boolean |
doBitsetSelect() |
(package private) void |
dumpStacks(java.lang.String message) |
private boolean |
evaluateArray(SV[] args,
boolean allowMatrix) |
private boolean |
evaluateBin(SV[] args) |
private boolean |
evaluateCache(SV[] args) |
private boolean |
evaluateColor(SV[] args) |
private boolean |
evaluateCompare(SV[] args) |
private boolean |
evaluateConnected(SV[] args) |
private boolean |
evaluateContact(SV[] args) |
private boolean |
evaluateCross(SV[] args) |
private boolean |
evaluateData(SV[] args) |
private boolean |
evaluateDot(SV[] args,
int tok,
int intValue)
distance, dot
|
private boolean |
evaluateFind(SV[] args) |
private boolean |
evaluateFunction(int tok) |
private boolean |
evaluateGetProperty(SV[] args) |
private boolean |
evaluateHelix(SV[] args) |
private boolean |
evaluateLabel(int intValue,
SV[] args) |
private boolean |
evaluateList(int tok,
SV[] args) |
private boolean |
evaluateLoad(SV[] args,
int tok) |
private boolean |
evaluateMath(SV[] args,
int tok) |
private boolean |
evaluateMeasure(SV[] args,
int tok) |
private boolean |
evaluatePlane(SV[] args,
int tok) |
private boolean |
evaluatePoint(SV[] args) |
private boolean |
evaluatePrompt(SV[] args) |
private boolean |
evaluateQuaternion(SV[] args,
int tok) |
private boolean |
evaluateRandom(SV[] args) |
private boolean |
evaluateReplace(SV[] args) |
private boolean |
evaluateRowCol(SV[] args,
int tok) |
private boolean |
evaluateScript(SV[] args,
int tok) |
private boolean |
evaluateSort(SV[] args,
int tok) |
private boolean |
evaluateString(int tok,
SV[] args) |
private boolean |
evaluateSubstructure(SV[] args,
int tok) |
private boolean |
evaluateSymop(SV[] args,
boolean haveBitSet)
{xxx}.symop()
symop({xxx}
|
private boolean |
evaluateTensor(SV[] args) |
private boolean |
evaluateUserFunction(java.lang.String name,
SV[] args,
int tok,
boolean isSelector) |
private boolean |
evaluateWithin(SV[] args) |
private boolean |
evaluateWrite(SV[] args) |
private boolean |
getAllProperties(SV x2,
java.lang.String abbr) |
private boolean |
getBoundBox(SV x2) |
private float |
getDistance(SV x1,
SV x2,
int tok) |
(package private) static Matrix4f |
getMatrix4f(Matrix3f matRotate,
Tuple3f vTranslate) |
private static java.lang.Object |
getMinMax(java.lang.Object floatOrSVArray,
int tok) |
private static java.lang.Object |
getMinMaxPoint(java.lang.Object pointOrSVArray,
int tok)
calculates the statistical value for x, y, and z independently
|
private static java.lang.Object |
getMinMaxQuaternion(JmolList<SV> svData,
int tok) |
private boolean |
getPointOrBitsetOperation(T op,
SV x2) |
protected static Quaternion[] |
getQuaternionArray(java.lang.Object quaternionOrSVData,
int itype) |
(package private) SV |
getResult(boolean allowUnderflow) |
private static void |
getTorsions(Atom[] atoms,
int[][] bondMap,
float[][] diff,
int pt) |
private SV |
getX() |
private static boolean |
isOpFunc(T op) |
private boolean |
operate() |
private P4 |
planeValue(T x) |
P3 |
ptValue(SV x,
boolean allowFloat) |
private void |
putIf(char c) |
private void |
putOp(T op) |
private void |
putX(SV x) |
private static java.lang.String |
typeOf(SV x) |
private boolean chk
private boolean wasSyntaxCheck
private boolean logMessages
private ScriptEvaluator eval
private Viewer viewer
private T[] oStack
private SV[] xStack
private char[] ifStack
private int ifPt
private int oPt
private int xPt
private int parenCount
private int squareCount
private int braceCount
private boolean wasX
private int incrementX
private boolean isArrayItem
private boolean asVector
private boolean asBitSet
private int ptid
private int ptx
private boolean skipping
private boolean haveSpaceBeforeSquare
private int equalCount
ScriptMathProcessor(ScriptEvaluator eval, boolean isArrayItem, boolean asVector, boolean asBitSet)
SV getResult(boolean allowUnderflow) throws ScriptException
ScriptExceptionprivate void putX(SV x)
private void putOp(T op)
private void putIf(char c)
boolean addXVar(SV x)
boolean addXObj(java.lang.Object x)
boolean addXStr(java.lang.String x)
private boolean addXBool(boolean x)
private boolean addXInt(int x)
private boolean addXList(JmolList<?> x)
private boolean addXMap(java.util.Map<java.lang.String,?> x)
private boolean addXM3(Matrix3f x)
private boolean addXM4(Matrix4f x)
private boolean addXFloat(float x)
boolean addXBs(BS bs)
boolean addXPt(P3 pt)
boolean addXPt4(P4 pt)
boolean addXNum(SV x) throws ScriptException
ScriptExceptionboolean addXAV(SV[] x)
boolean addXAD(double[] x)
boolean addXAS(java.lang.String[] x)
boolean addXAI(int[] x)
boolean addXAII(int[][] x)
boolean addXAF(float[] x)
boolean addXAFF(float[][] x)
private static boolean isOpFunc(T op)
boolean addOp(T op) throws ScriptException
op - ScriptExceptionboolean addOpAllowMath(T op, boolean allowMathFunc) throws ScriptException
ScriptExceptionprivate boolean doBitsetSelect()
void dumpStacks(java.lang.String message)
private SV getX() throws ScriptException
ScriptExceptionprivate boolean evaluateFunction(int tok)
throws ScriptException
ScriptExceptionprivate boolean evaluateTensor(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateCache(SV[] args)
private boolean evaluateCompare(SV[] args) throws ScriptException
ScriptExceptionprivate static void getTorsions(Atom[] atoms, int[][] bondMap, float[][] diff, int pt)
private boolean evaluateSort(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean evaluateSymop(SV[] args, boolean haveBitSet) throws ScriptException
args - haveBitSet - ScriptExceptionprivate boolean evaluateBin(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateHelix(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateDot(SV[] args, int tok, int intValue) throws ScriptException
args - tok - intValue - ScriptExceptionprivate float getDistance(SV x1, SV x2, int tok) throws ScriptException
ScriptExceptionpublic P3 ptValue(SV x, boolean allowFloat) throws ScriptException
ScriptExceptionprivate boolean evaluateMeasure(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean evaluateUserFunction(java.lang.String name,
SV[] args,
int tok,
boolean isSelector)
throws ScriptException
ScriptExceptionprivate boolean evaluateFind(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateGetProperty(SV[] args)
private boolean evaluatePlane(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean evaluatePoint(SV[] args)
private boolean evaluatePrompt(SV[] args)
private boolean evaluateReplace(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateString(int tok,
SV[] args)
throws ScriptException
ScriptExceptionprivate boolean evaluateList(int tok,
SV[] args)
throws ScriptException
ScriptExceptionprivate boolean evaluateRowCol(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean evaluateArray(SV[] args, boolean allowMatrix)
private boolean evaluateMath(SV[] args, int tok)
private boolean evaluateQuaternion(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean evaluateRandom(SV[] args)
private boolean evaluateCross(SV[] args)
private boolean evaluateLoad(SV[] args, int tok)
private boolean evaluateWrite(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateScript(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean evaluateData(SV[] args)
private boolean evaluateLabel(int intValue,
SV[] args)
throws ScriptException
ScriptExceptionprivate boolean evaluateWithin(SV[] args) throws ScriptException
ScriptExceptionprivate boolean evaluateContact(SV[] args)
private boolean evaluateColor(SV[] args)
private boolean evaluateConnected(SV[] args)
private boolean evaluateSubstructure(SV[] args, int tok) throws ScriptException
ScriptExceptionprivate boolean operate()
throws ScriptException
ScriptExceptionprivate static java.lang.String typeOf(SV x)
private boolean getAllProperties(SV x2, java.lang.String abbr) throws ScriptException
ScriptExceptionprivate boolean getBoundBox(SV x2)
private boolean getPointOrBitsetOperation(T op, SV x2) throws ScriptException
ScriptExceptionprivate static java.lang.Object getMinMax(java.lang.Object floatOrSVArray,
int tok)
private static java.lang.Object getMinMaxPoint(java.lang.Object pointOrSVArray,
int tok)
pointOrSVArray - tok - private static java.lang.Object getMinMaxQuaternion(JmolList<SV> svData, int tok)
protected static Quaternion[] getQuaternionArray(java.lang.Object quaternionOrSVData, int itype)