Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2841
Modified Files:
MoveTool.java
Log Message:
holes move with the surface they belong to
Index: MoveTool.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/MoveTool.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** MoveTool.java 25 Aug 2005 09:50:45 -0000 1.4
--- MoveTool.java 30 Aug 2005 12:52:06 -0000 1.5
***************
*** 11,14 ****
--- 11,15 ----
import net.sourceforge.bprocessor.model.Vertex;
+ import net.sourceforge.bprocessor.model.Surface;
import java.awt.event.MouseEvent;
***************
*** 16,19 ****
--- 17,22 ----
import java.util.List;
+ import java.util.Set;
+ import java.util.Iterator;
import org.apache.log4j.Logger;
***************
*** 89,92 ****
--- 92,117 ----
}
}
+ Set innerSurfaces = selectedSurface.getInnerSurfaces();
+ if (innerSurfaces != null) {
+ Iterator innerIt = innerSurfaces.iterator();
+ while (innerIt.hasNext()) {
+ Surface innerSurface = (Surface)innerIt.next();
+ List innerEdges = Util.traverse(innerSurface);
+ for (int i = 0; i < innerEdges.size(); i++) {
+ Vertex v = (Vertex)innerEdges.get(i);
+ if (moveMode == XY) {
+ coords = new double[] {v.getX() + deltaX / moveSpeed,
+ v.getY() - deltaY / moveSpeed,
+ v.getZ() + 0};
+ updateVertex(v, coords);
+ } else {
+ coords = new double[] {v.getX() + deltaX / moveSpeed,
+ v.getY() + 0,
+ v.getZ() - deltaY / moveSpeed};
+ updateVertex(v, coords);
+ }
+ }
+ }
+ }
} else if (selectedEdge != null) {
Vertex to = selectedEdge.getTo();
|