[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool FinalMoveTool.java, 1.11, 1.12
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Michael L. <he...@us...> - 2007-05-30 06:57:38
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27139/src/net/sourceforge/bprocessor/gl/tool Modified Files: FinalMoveTool.java Log Message: Implemented divide Index: FinalMoveTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/FinalMoveTool.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** FinalMoveTool.java 29 May 2007 21:08:40 -0000 1.11 --- FinalMoveTool.java 30 May 2007 06:57:38 -0000 1.12 *************** *** 118,122 **** } ! private void apply(int i) { Vertex v = direction.copy(); v.scale(i); --- 118,122 ---- } ! private void multiply(int i) { Vertex v = direction.copy(); v.scale(i); *************** *** 129,132 **** --- 129,150 ---- Project.getInstance().getActiveSpace().insert(copy); } + + private void divide(int i, int n) { + Vertex v = direction.copy(); + System.out.println("n = " + n); + System.out.println("i = " + i); + double delta = -v.length() / (double) (n - 1); + System.out.println("delta = " + delta); + double d = (double) i * delta; + + v.scale(d / v.length()); + Mesh copy = mesh.copy(); + for (Vertex current : copy.vertices()) { + current.setX(current.getX() + v.getX()); + current.setY(current.getY() + v.getY()); + current.setZ(current.getZ() + v.getZ()); + } + Project.getInstance().getActiveSpace().insert(copy); + } /** {@inheritDoc} */ *************** *** 198,202 **** if (value.length() > 0) { char token = value.charAt(0); ! if (token == '*') { String expression = value.substring(1); Stack result = evaluateString("echo " + expression); --- 216,220 ---- if (value.length() > 0) { char token = value.charAt(0); ! if (token == '*' || token == '/') { String expression = value.substring(1); Stack result = evaluateString("echo " + expression); *************** *** 206,212 **** Double d = (Double) top; int n = d.intValue(); ! for (int i = 1; i < n - 1; i++) { ! apply(i); } Project.getInstance().checkpoint(); } --- 224,237 ---- Double d = (Double) top; int n = d.intValue(); ! if (token == '*') { ! for (int i = 1; i < n - 1; i++) { ! multiply(i); ! } ! } else if (token == '/') { ! for (int i = 1; i < n - 1; i++) { ! divide(i, n); ! } } + Project.getInstance().checkpoint(); } |