use of expression.Number in project OpenNotebook by jaltekruse.
the class RootNodeGraphic method generateExpressionGraphic.
public void generateExpressionGraphic(Graphics g, int x1, int y1, int fontSize, float zoomLevel) throws Exception {
xPos = x1;
yPos = y1;
graphics = (Graphics2D) g;
bigFontSize = fontSize;
bigFont = new Font(SANS_SERIF, 0, bigFontSize);
smallFont = new Font(SANS_SERIF, 0, (int) (bigFontSize * (3.0 / 4)));
DOC_ZOOM_LEVEL = zoomLevel;
// g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
int[] tempSize = { 0, 0 };
components = new Vector<>();
selectedVals = new Vector<>();
NodeGraphic temp = new DecimalGraphic(new Number(3), this);
temp = temp.makeNodeGraphic(n);
components.add(temp);
tempSize = temp.requestSize(g, bigFont, x1, y1);
root = temp;
temp.getMostInnerWest().setCursorPos(x1);
xSize = tempSize[0];
ySize = tempSize[1];
}
use of expression.Number in project OpenNotebook by jaltekruse.
the class ExUtil method randomTerm.
public static Node randomTerm(int maxDegree, int minCoefficient, int maxCoefficient, VarList variables) {
Vector<Node> parts = new Vector<>();
// add the coefficient
parts.add(new Number(randomInt(minCoefficient, maxCoefficient, true)));
// keep a list of the variables that have already been used
Vector<String> usedVars = new Vector<>();
int degree = 0;
while (degree < maxDegree && variables.size() > usedVars.size()) {
}
return null;
}
use of expression.Number in project OpenNotebook by jaltekruse.
the class ExUtil method randomExpression.
public static Node randomExpression(String[] ops, String[] vars, int numOps, double maxAbsVal, int minNumVal, int maxNumVal, boolean excludeZero, boolean subtractNegatives, boolean addNegatives, boolean includeFractions) {
Node n;
n = new Number(randomInt(minNumVal, maxNumVal, excludeZero));
for (int i = 0; i < numOps; i++) {
n = addRandomOp(n, ops, vars, minNumVal, maxNumVal, maxAbsVal, excludeZero, subtractNegatives, addNegatives);
}
return n;
}
use of expression.Number in project OpenNotebook by jaltekruse.
the class ExUtil method randomFraction.
public Node randomFraction(int min, int max, boolean allowImproper, boolean allowZero) {
if (min > max) {
// min must be smaller
return null;
}
int denom = rand.nextInt(max - min) + min;
Number denominator = new Number(denom);
return null;
}
use of expression.Number in project OpenNotebook by jaltekruse.
the class ExUtil method randomTerm.
public static Node randomTerm(int degree, String var, int minCoefficient, int maxCoefficient) {
Number num = new Number(randomInt(minCoefficient, maxCoefficient, true));
if (degree == 0) {
return num;
}
Expression ex = new Expression(new Operator.Multiplication());
ex.getChildren().add(num);
try {
if (degree == 1) {
ex.getChildren().add(new Identifier(var));
return ex;
} else {
ex.getChildren().add(new Expression(new Operator.Exponent(), new Identifier(var), new Number(degree)));
return ex;
}
} catch (NodeException e) {
throw new RuntimeException(e);
}
}
Aggregations