[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool SpaceTool.java, 1.53, 1.54
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2006-10-11 14:05:31
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25482/src/net/sourceforge/bprocessor/gl/tool Modified Files: SpaceTool.java Log Message: push, pop, translate, rotate and scale implemented in b-script Index: SpaceTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SpaceTool.java,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** SpaceTool.java 11 Oct 2006 13:28:02 -0000 1.53 --- SpaceTool.java 11 Oct 2006 14:05:20 -0000 1.54 *************** *** 39,46 **** --- 39,49 ---- import net.sourceforge.bprocessor.model.Edge; import net.sourceforge.bprocessor.model.Entity; + import net.sourceforge.bprocessor.model.IDTransform; import net.sourceforge.bprocessor.model.Project; + import net.sourceforge.bprocessor.model.Scale; import net.sourceforge.bprocessor.model.Selection; import net.sourceforge.bprocessor.model.Space; import net.sourceforge.bprocessor.model.Surface; + import net.sourceforge.bprocessor.model.Transform; import net.sourceforge.bprocessor.model.TransformStack; import net.sourceforge.bprocessor.model.Translate; *************** *** 66,69 **** --- 69,75 ---- private TransformStack transform; + /** ID */ + private Transform id; + /** * Construct the SpaceTool *************** *** 610,613 **** --- 616,620 ---- transform = new TransformStack(); + id = new IDTransform(); HashMap globals = Project.getInstance().getGlobals().environment(); *************** *** 636,639 **** --- 643,659 ---- } }); + globals.put("push", new Builtin() { + public void evaluate(Environment env, Stack stack) { + transform.push(id); + } + }); + globals.put("pop", new Builtin() { + public void evaluate(Environment env, Stack stack) { + while (transform.pop() != id) { + // NOTHING + } + } + }); + globals.put("vertex", new Builtin() { *************** *** 700,703 **** --- 720,733 ---- } }); + globals.put("scale", 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); + transform.push( + new Scale(x.doubleValue(), y.doubleValue(), z.doubleValue()) + ); + } + }); globals.put("rotate", new Builtin() { public void evaluate(Environment env, Stack stack) { |