org.jmol.script
class ScriptMathProcessor extends Object
Modifier and Type | Field and Description |
---|---|
private boolean |
asBitSet |
private boolean |
asVector |
private int |
braceCount |
private int |
equalCount |
private ScriptEvaluator |
eval |
private boolean |
haveSpaceBeforeSquare |
private int |
ifPt |
private char[] |
ifStack |
private int |
incrementX |
private boolean |
isArrayItem |
private boolean |
isSyntaxCheck
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 boolean |
logMessages |
private int |
oPt |
private Token[] |
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 ScriptVariable[] |
xStack |
Constructor and Description |
---|
ScriptMathProcessor(ScriptEvaluator eval,
boolean isArrayItem,
boolean asVector,
boolean asBitSet) |
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
addOp(Token op)
addOp The primary driver of the Reverse Polish Notation evaluation engine.
|
(package private) boolean |
addOp(Token op,
boolean allowMathFunc) |
(package private) boolean |
addX(BitSet bs) |
private boolean |
addX(boolean x) |
private boolean |
addX(float x) |
private boolean |
addX(int x) |
(package private) boolean |
addX(Object x) |
(package private) boolean |
addX(Point3f pt) |
(package private) boolean |
addX(ScriptVariable x) |
(package private) boolean |
addXNum(ScriptVariable x) |
private boolean |
doBitsetSelect() |
(package private) void |
dumpStacks(String message) |
private boolean |
evaluateArray(ScriptVariable[] args,
boolean allowMatrix) |
private boolean |
evaluateBin(ScriptVariable[] args) |
private boolean |
evaluateColor(ScriptVariable[] args) |
private boolean |
evaluateCompare(ScriptVariable[] args) |
private boolean |
evaluateConnected(ScriptVariable[] args) |
private boolean |
evaluateContact(ScriptVariable[] args) |
private boolean |
evaluateCross(ScriptVariable[] args) |
private boolean |
evaluateData(ScriptVariable[] args) |
private boolean |
evaluateDot(ScriptVariable[] args,
int tok) |
private boolean |
evaluateFind(ScriptVariable[] args) |
private boolean |
evaluateFunction(int tok) |
private boolean |
evaluateGetProperty(ScriptVariable[] args) |
private boolean |
evaluateHelix(ScriptVariable[] args) |
private boolean |
evaluateLabel(int intValue,
ScriptVariable[] args) |
private boolean |
evaluateList(int tok,
ScriptVariable[] args) |
private boolean |
evaluateLoad(ScriptVariable[] args,
int tok) |
private boolean |
evaluateMath(ScriptVariable[] args,
int tok) |
private boolean |
evaluateMeasure(ScriptVariable[] args,
int tok) |
private boolean |
evaluatePlane(ScriptVariable[] args,
int tok) |
private boolean |
evaluatePoint(ScriptVariable[] args) |
private boolean |
evaluatePrompt(ScriptVariable[] args) |
private boolean |
evaluateQuaternion(ScriptVariable[] args,
int tok) |
private boolean |
evaluateRandom(ScriptVariable[] args) |
private boolean |
evaluateReplace(ScriptVariable[] args) |
private boolean |
evaluateRowCol(ScriptVariable[] args,
int tok) |
private boolean |
evaluateScript(ScriptVariable[] args,
int tok) |
private boolean |
evaluateSort(ScriptVariable[] args,
int tok) |
private boolean |
evaluateString(int tok,
ScriptVariable[] args) |
private boolean |
evaluateSubstructure(ScriptVariable[] args,
int tok) |
private boolean |
evaluateSymop(ScriptVariable[] args,
boolean haveBitSet) |
private boolean |
evaluateUserFunction(String name,
ScriptVariable[] args,
int tok,
boolean isSelector) |
private boolean |
evaluateVolume(ScriptVariable[] args) |
private boolean |
evaluateWithin(ScriptVariable[] args) |
private boolean |
evaluateWrite(ScriptVariable[] args) |
private boolean |
getAllProperties(ScriptVariable x2,
String abbr) |
private boolean |
getBoundBox(ScriptVariable x2) |
(package private) static Matrix4f |
getMatrix4f(Matrix3f matRotate,
Tuple3f vTranslate) |
private static Object |
getMinMax(Object floatOrSVArray,
int tok) |
private static Object |
getMinMaxPoint(Object pointOrSVArray,
int tok)
calculates the statistical value for x, y, and z independently
|
private static Object |
getMinMaxQuaternion(Object quaternionOrSVData,
int tok) |
private boolean |
getPointOrBitsetOperation(Token op,
ScriptVariable x2) |
protected static Quaternion[] |
getQuaternionArray(Object quaternionOrSVData) |
(package private) ScriptVariable |
getResult(boolean allowUnderflow) |
private ScriptVariable |
getX() |
private static boolean |
isOpFunc(Token op) |
private boolean |
operate() |
private Point4f |
planeValue(Token x) |
Point3f |
ptValue(ScriptVariable x,
boolean allowFloat) |
private void |
putIf(char c) |
private void |
putOp(Token op) |
private void |
putX(ScriptVariable x) |
private boolean isSyntaxCheck
private boolean wasSyntaxCheck
private boolean logMessages
private ScriptEvaluator eval
private Viewer viewer
private Token[] oStack
private ScriptVariable[] 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)
ScriptVariable getResult(boolean allowUnderflow) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private void putX(ScriptVariable x)
private void putOp(Token op)
private void putIf(char c)
boolean addX(ScriptVariable x)
boolean addX(Object x)
boolean addX(BitSet bs)
boolean addX(Point3f pt)
boolean addXNum(ScriptVariable x) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean addX(boolean x)
private boolean addX(int x)
private boolean addX(float x)
private static boolean isOpFunc(Token op)
boolean addOp(Token op) throws ScriptEvaluator.ScriptException
op
- ScriptEvaluator.ScriptException
boolean addOp(Token op, boolean allowMathFunc) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean doBitsetSelect()
void dumpStacks(String message)
private ScriptVariable getX() throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateFunction(int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateCompare(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateVolume(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateSort(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateSymop(ScriptVariable[] args, boolean haveBitSet) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateBin(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateHelix(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateDot(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
public Point3f ptValue(ScriptVariable x, boolean allowFloat) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateMeasure(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateUserFunction(String name, ScriptVariable[] args, int tok, boolean isSelector) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateFind(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateGetProperty(ScriptVariable[] args)
private boolean evaluatePlane(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluatePoint(ScriptVariable[] args)
private boolean evaluatePrompt(ScriptVariable[] args)
private boolean evaluateReplace(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateString(int tok, ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateList(int tok, ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateRowCol(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateArray(ScriptVariable[] args, boolean allowMatrix)
private boolean evaluateMath(ScriptVariable[] args, int tok)
private boolean evaluateQuaternion(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateRandom(ScriptVariable[] args)
private boolean evaluateCross(ScriptVariable[] args)
private boolean evaluateLoad(ScriptVariable[] args, int tok)
private boolean evaluateWrite(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateScript(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateData(ScriptVariable[] args)
private boolean evaluateLabel(int intValue, ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateWithin(ScriptVariable[] args) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean evaluateContact(ScriptVariable[] args)
private boolean evaluateColor(ScriptVariable[] args)
private boolean evaluateConnected(ScriptVariable[] args)
private boolean evaluateSubstructure(ScriptVariable[] args, int tok) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean operate() throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean getAllProperties(ScriptVariable x2, String abbr) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private boolean getBoundBox(ScriptVariable x2)
private boolean getPointOrBitsetOperation(Token op, ScriptVariable x2) throws ScriptEvaluator.ScriptException
ScriptEvaluator.ScriptException
private static Object getMinMaxPoint(Object pointOrSVArray, int tok)
pointOrSVArray
- tok
- protected static Quaternion[] getQuaternionArray(Object quaternionOrSVData)