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
ScriptException
private 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
ScriptException
boolean 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
- ScriptException
boolean addOpAllowMath(T op, boolean allowMathFunc) throws ScriptException
ScriptException
private boolean doBitsetSelect()
void dumpStacks(java.lang.String message)
private SV getX() throws ScriptException
ScriptException
private boolean evaluateFunction(int tok) throws ScriptException
ScriptException
private boolean evaluateTensor(SV[] args) throws ScriptException
ScriptException
private boolean evaluateCache(SV[] args)
private boolean evaluateCompare(SV[] args) throws ScriptException
ScriptException
private static void getTorsions(Atom[] atoms, int[][] bondMap, float[][] diff, int pt)
private boolean evaluateSort(SV[] args, int tok) throws ScriptException
ScriptException
private boolean evaluateSymop(SV[] args, boolean haveBitSet) throws ScriptException
args
- haveBitSet
- ScriptException
private boolean evaluateBin(SV[] args) throws ScriptException
ScriptException
private boolean evaluateHelix(SV[] args) throws ScriptException
ScriptException
private boolean evaluateDot(SV[] args, int tok, int intValue) throws ScriptException
args
- tok
- intValue
- ScriptException
private float getDistance(SV x1, SV x2, int tok) throws ScriptException
ScriptException
public P3 ptValue(SV x, boolean allowFloat) throws ScriptException
ScriptException
private boolean evaluateMeasure(SV[] args, int tok) throws ScriptException
ScriptException
private boolean evaluateUserFunction(java.lang.String name, SV[] args, int tok, boolean isSelector) throws ScriptException
ScriptException
private boolean evaluateFind(SV[] args) throws ScriptException
ScriptException
private boolean evaluateGetProperty(SV[] args)
private boolean evaluatePlane(SV[] args, int tok) throws ScriptException
ScriptException
private boolean evaluatePoint(SV[] args)
private boolean evaluatePrompt(SV[] args)
private boolean evaluateReplace(SV[] args) throws ScriptException
ScriptException
private boolean evaluateString(int tok, SV[] args) throws ScriptException
ScriptException
private boolean evaluateList(int tok, SV[] args) throws ScriptException
ScriptException
private boolean evaluateRowCol(SV[] args, int tok) throws ScriptException
ScriptException
private boolean evaluateArray(SV[] args, boolean allowMatrix)
private boolean evaluateMath(SV[] args, int tok)
private boolean evaluateQuaternion(SV[] args, int tok) throws ScriptException
ScriptException
private boolean evaluateRandom(SV[] args)
private boolean evaluateCross(SV[] args)
private boolean evaluateLoad(SV[] args, int tok)
private boolean evaluateWrite(SV[] args) throws ScriptException
ScriptException
private boolean evaluateScript(SV[] args, int tok) throws ScriptException
ScriptException
private boolean evaluateData(SV[] args)
private boolean evaluateLabel(int intValue, SV[] args) throws ScriptException
ScriptException
private boolean evaluateWithin(SV[] args) throws ScriptException
ScriptException
private boolean evaluateContact(SV[] args)
private boolean evaluateColor(SV[] args)
private boolean evaluateConnected(SV[] args)
private boolean evaluateSubstructure(SV[] args, int tok) throws ScriptException
ScriptException
private boolean operate() throws ScriptException
ScriptException
private static java.lang.String typeOf(SV x)
private boolean getAllProperties(SV x2, java.lang.String abbr) throws ScriptException
ScriptException
private boolean getBoundBox(SV x2)
private boolean getPointOrBitsetOperation(T op, SV x2) throws ScriptException
ScriptException
private 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)