Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22376/src/net/sourceforge/bprocessor/gl/tool
Modified Files:
FinalMoveTool.java
Log Message:
Implemented repeat in move tool
Index: FinalMoveTool.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/FinalMoveTool.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** FinalMoveTool.java 29 May 2007 13:57:56 -0000 1.10
--- FinalMoveTool.java 29 May 2007 21:08:40 -0000 1.11
***************
*** 42,46 ****
private boolean copy;
! private int count = 0;
/**
--- 42,47 ----
private boolean copy;
! private Mesh mesh;
! private Vertex direction;
/**
***************
*** 116,119 ****
--- 117,132 ----
}
}
+
+ private void apply(int i) {
+ Vertex v = direction.copy();
+ v.scale(i);
+ 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} */
***************
*** 165,175 ****
edges.addAll(Surface.edges(surfaces));
vertices.addAll(Edge.vertices(edges));
! Mesh mesh = new Mesh(surfaces, edges, vertices);
! owner.insert(mesh);
geometrics = null;
}
owner.simplify();
Project.getInstance().checkpoint();
cleanUp();
}
}
--- 178,191 ----
edges.addAll(Surface.edges(surfaces));
vertices.addAll(Edge.vertices(edges));
! mesh = new Mesh(surfaces, edges, vertices);
! direction = last.minus(start.vertex());
! owner.insert(mesh.copy());
geometrics = null;
}
owner.simplify();
Project.getInstance().checkpoint();
+ start = null;
cleanUp();
+ moved(e);
}
}
***************
*** 180,189 ****
@Override
public Object evaluate(String value) {
- System.out.println("evaluate " + value);
if (value.length() > 0) {
char token = value.charAt(0);
if (token == '*') {
String expression = value.substring(1);
- System.out.println("repeat + '" + expression + "'");
Stack result = evaluateString("echo " + expression);
if (result.size() == 1) {
--- 196,203 ----
***************
*** 191,195 ****
if (top instanceof Double) {
Double d = (Double) top;
! System.out.println("repeat " + d);
}
}
--- 205,213 ----
if (top instanceof Double) {
Double d = (Double) top;
! int n = d.intValue();
! for (int i = 1; i < n - 1; i++) {
! apply(i);
! }
! Project.getInstance().checkpoint();
}
}
***************
*** 203,206 ****
--- 221,229 ----
*/
public void cleanUp() {
+ if (start != null) {
+ System.out.println("escaping...");
+ current = start;
+ move();
+ }
super.cleanUp();
if (copy) {
|