Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18096/src/net/sourceforge/bprocessor/gl/tool
Modified Files:
SelectStrategy.java FinalMoveTool.java
Log Message:
Improved copying of geometry
Index: SelectStrategy.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SelectStrategy.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** SelectStrategy.java 10 May 2007 11:53:11 -0000 1.12
--- SelectStrategy.java 4 Jun 2007 20:38:21 -0000 1.13
***************
*** 11,15 ****
import java.util.HashSet;
import java.util.Iterator;
- import java.util.LinkedList;
import java.util.List;
--- 11,14 ----
***************
*** 24,28 ****
import net.sourceforge.bprocessor.model.Edge;
import net.sourceforge.bprocessor.model.Geometric;
- import net.sourceforge.bprocessor.model.Geometry;
import net.sourceforge.bprocessor.model.Project;
import net.sourceforge.bprocessor.model.Selection;
--- 23,26 ----
***************
*** 130,146 ****
Selection.primary().addAll(extended);
} else {
! int size = 0;
! Collection<Vertex> vertices = Geometry.collect(Selection.primary());
! Collection<Edge> edges = new LinkedList<Edge>();
! while (vertices.size() > size) {
! size = vertices.size();
! edges = Vertex.edges(vertices);
! vertices = Geometry.collect(edges);
! }
! Collection<Surface> surfaces = Edge.surfaces(edges);
! Collection<Geometric> geometrics = new HashSet<Geometric>();
! geometrics.addAll(surfaces);
! geometrics.addAll(edges);
! geometrics.addAll(vertices);
Selection.primary().set(geometrics);
}
--- 128,133 ----
Selection.primary().addAll(extended);
} else {
! Collection<Geometric> geometrics =
! Geometric.connected(Selection.primary());
Selection.primary().set(geometrics);
}
Index: FinalMoveTool.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/FinalMoveTool.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** FinalMoveTool.java 31 May 2007 12:41:59 -0000 1.13
--- FinalMoveTool.java 4 Jun 2007 20:38:21 -0000 1.14
***************
*** 11,18 ****
import java.awt.event.MouseEvent;
import java.util.Collection;
- import java.util.HashMap;
- import java.util.HashSet;
import java.util.LinkedList;
- import java.util.Map;
import java.util.Stack;
--- 11,15 ----
***************
*** 25,29 ****
import net.sourceforge.bprocessor.model.Project;
import net.sourceforge.bprocessor.model.Selection;
- import net.sourceforge.bprocessor.model.Surface;
import net.sourceforge.bprocessor.model.Vertex;
import net.sourceforge.bprocessor.model.Space;
--- 22,25 ----
***************
*** 158,167 ****
copy = e.isAltDown();
if (copy) {
! Collection<Geometric> copied = new LinkedList();
! Map map = new HashMap();
! for (Geometric current : geometrics) {
! copied.add(current.copy(map));
! }
! geometrics = copied;
Project.getInstance().getActiveSpace().addProtected(geometrics);
}
--- 154,160 ----
copy = e.isAltDown();
if (copy) {
! mesh = new Mesh(geometrics);
! mesh = mesh.copy();
! geometrics = mesh.geometrics();
Project.getInstance().getActiveSpace().addProtected(geometrics);
}
***************
*** 179,199 ****
if (copy) {
owner.removeProtected(geometrics);
- Collection<Vertex> vertices = new HashSet();
- Collection<Edge> edges = new HashSet();
- Collection<Surface> surfaces = new HashSet();
- for (Geometric current : geometrics) {
- if (current instanceof Surface) {
- surfaces.add((Surface) current);
- } else if (current instanceof Edge) {
- edges.add((Edge) current);
- } else if (current instanceof Vertex) {
- vertices.add((Vertex) current);
- }
- }
- 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;
}
--- 172,177 ----
if (copy) {
owner.removeProtected(geometrics);
direction = last.minus(start.vertex());
! owner.insert(mesh);
geometrics = null;
}
|