[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool SpaceTool.java, 1.37, 1.38
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-09-14 09:21:54
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31082/src/net/sourceforge/bprocessor/gl/tool Modified Files: SpaceTool.java Log Message: Improved scripting Index: SpaceTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SpaceTool.java,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** SpaceTool.java 13 Sep 2006 13:36:19 -0000 1.37 --- SpaceTool.java 14 Sep 2006 09:21:50 -0000 1.38 *************** *** 23,26 **** --- 23,27 ---- import java.util.LinkedList; import java.util.List; + import java.util.Stack; import javax.swing.JMenu; *************** *** 561,590 **** HashMap globals = Project.getInstance().getGlobals().environment(); globals.put("cos", new Builtin() { ! public Object evaluate(Environment env) { Double argument = (Double) env.get(0); ! return new Double(Math.cos(argument.doubleValue())); } }); globals.put("sin", new Builtin() { ! public Object evaluate(Environment env) { Double argument = (Double) env.get(0); ! return new Double(Math.sin(argument.doubleValue())); } }); globals.put("vertex", new Builtin() { ! public Object evaluate(Environment env) { Double x = (Double) env.get(0); Double y = (Double) env.get(1); Double z = (Double) env.get(2); Vertex result = new Vertex(x.doubleValue(), y.doubleValue(), z.doubleValue()); ! return result; } }); globals.put("edge", new Builtin() { ! public Object evaluate(Environment env) { Vertex from = (Vertex) env.get(0); Vertex to = (Vertex) env.get(1); Edge result = new Edge(from, to); ! return result; } }); --- 562,591 ---- HashMap globals = Project.getInstance().getGlobals().environment(); globals.put("cos", new Builtin() { ! public void evaluate(Environment env, Stack stack) { Double argument = (Double) env.get(0); ! stack.push(new Double(Math.cos(argument.doubleValue()))); } }); globals.put("sin", new Builtin() { ! public void evaluate(Environment env, Stack stack) { Double argument = (Double) env.get(0); ! stack.push(new Double(Math.sin(argument.doubleValue()))); } }); globals.put("vertex", new Builtin() { ! public void evaluate(Environment env, Stack stack) { Double x = (Double) env.get(0); Double y = (Double) env.get(1); Double z = (Double) env.get(2); Vertex result = new Vertex(x.doubleValue(), y.doubleValue(), z.doubleValue()); ! stack.push(result); } }); globals.put("edge", new Builtin() { ! public void evaluate(Environment env, Stack stack) { Vertex from = (Vertex) env.get(0); Vertex to = (Vertex) env.get(1); Edge result = new Edge(from, to); ! stack.push(result); } }); *************** *** 609,624 **** Function function = new Function(); parser.statement(function); ! Object result = function.evaluate(env); ! if (result instanceof Vertex) { ! result = Geometry.insertVertex((Vertex)result, true); ! Selection.primary().set(result); ! } ! ! if (result instanceof Edge) { ! result = Geometry.insertEdge((Edge)result, true); ! Selection.primary().set(result); } ! ! glv.setLengthValue(result.toString()); typing = false; --- 610,628 ---- Function function = new Function(); parser.statement(function); ! Stack stack = new Stack(); ! function.evaluate(env, stack); ! while (!stack.empty()) { ! Object result = stack.pop(); ! if (result instanceof Vertex) { ! result = Geometry.insertVertex((Vertex)result, true); ! Selection.primary().add(result); ! } else if (result instanceof Edge) { ! result = Geometry.insertEdge((Edge)result, true); ! Selection.primary().add(result); ! } else { ! glv.setLengthValue(result.toString()); ! } } ! typing = false; |