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();
}
|