public class ScriptMathProcessor extends Object
Modifier and Type | Field and Description |
---|---|
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 |
int |
oPt |
private T[] |
oStack |
private int |
parenCount |
private int |
ptid |
private int |
ptx |
private static String |
qMods |
private boolean |
skipping |
private int |
squareCount |
private Viewer |
viewer |
private boolean |
wasSyntaxCheck |
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 |
---|---|
boolean |
addOp(T op)
addOp The primary driver of the Reverse Polish Notation evaluation engine.
|
(package private) boolean |
addOpAllowMath(T op,
boolean allowMathFunc) |
boolean |
addXAD(double[] x) |
boolean |
addXAF(float[] x) |
boolean |
addXAFF(float[][] x) |
boolean |
addXAI(int[] x) |
boolean |
addXAII(int[][] x) |
boolean |
addXAS(String[] x) |
boolean |
addXAV(SV[] x) |
boolean |
addXBool(boolean x) |
boolean |
addXBs(BS bs) |
boolean |
addXFloat(float x) |
boolean |
addXInt(int x) |
boolean |
addXList(javajs.util.List<?> x) |
boolean |
addXM3(javajs.util.M3 x) |
boolean |
addXM4(javajs.util.M4 x) |
boolean |
addXMap(Map<String,?> x) |
boolean |
addXNum(SV x) |
boolean |
addXObj(Object x) |
boolean |
addXPt(javajs.util.P3 pt) |
boolean |
addXPt4(javajs.util.P4 pt) |
boolean |
addXStr(String x) |
boolean |
addXVar(SV x) |
boolean |
binaryOp(T op,
SV x1,
SV x2) |
private boolean |
doBitsetSelect() |
(package private) void |
dumpStacks(String message) |
SV |
evalOp(T token) |
private boolean |
evaluateFunction(int tok) |
private boolean |
getAllProperties(SV x2,
String abbr) |
private boolean |
getBoundBox(SV x2) |
static javajs.util.M4 |
getMatrix4f(javajs.util.M3 matRotate,
javajs.util.T3 vTranslate) |
private boolean |
getPointOrBitsetOperation(T op,
SV x2) |
(package private) SV |
getResult(boolean allowUnderflow) |
SV |
getX() |
private boolean |
isDecimal(SV x) |
private static boolean |
isOpFunc(T op) |
private boolean |
operate() |
javajs.util.P4 |
planeValue(T x) |
javajs.util.P3 |
ptValue(SV x,
boolean allowFloat) |
private void |
putIf(char c) |
private void |
putOp(T op) |
private void |
putX(SV x) |
private static 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
public int oPt
private int xPt
private int parenCount
private int squareCount
private int braceCount
public boolean wasX
private int incrementX
private boolean isArrayItem
private boolean asVector
public boolean asBitSet
private int ptid
private int ptx
private boolean skipping
private boolean haveSpaceBeforeSquare
private int equalCount
private static final String qMods
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)
public boolean addXVar(SV x)
public boolean addXObj(Object x)
public boolean addXStr(String x)
public boolean addXBool(boolean x)
public boolean addXInt(int x)
public boolean addXList(javajs.util.List<?> x)
public boolean addXM3(javajs.util.M3 x)
public boolean addXM4(javajs.util.M4 x)
public boolean addXFloat(float x)
public boolean addXBs(BS bs)
public boolean addXPt(javajs.util.P3 pt)
public boolean addXPt4(javajs.util.P4 pt)
public boolean addXNum(SV x) throws ScriptException
ScriptException
public boolean addXAV(SV[] x)
public boolean addXAD(double[] x)
public boolean addXAS(String[] x)
public boolean addXAI(int[] x)
public boolean addXAII(int[][] x)
public boolean addXAF(float[] x)
public boolean addXAFF(float[][] x)
private static boolean isOpFunc(T op)
public boolean addOp(T op) throws ScriptException
op
- ScriptException
boolean addOpAllowMath(T op, boolean allowMathFunc) throws ScriptException
ScriptException
private boolean doBitsetSelect()
void dumpStacks(String message)
public SV getX() throws ScriptException
ScriptException
private boolean evaluateFunction(int tok) throws ScriptException
ScriptException
private boolean operate() throws ScriptException
ScriptException
public boolean binaryOp(T op, SV x1, SV x2) throws ScriptException
ScriptException
private boolean isDecimal(SV x)
public javajs.util.P3 ptValue(SV x, boolean allowFloat) throws ScriptException
ScriptException
public javajs.util.P4 planeValue(T x)
private boolean getAllProperties(SV x2, String abbr) throws ScriptException
ScriptException
public static javajs.util.M4 getMatrix4f(javajs.util.M3 matRotate, javajs.util.T3 vTranslate)
private boolean getBoundBox(SV x2)
private boolean getPointOrBitsetOperation(T op, SV x2) throws ScriptException
ScriptException
public SV evalOp(T token) throws ScriptException
ScriptException