Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26993/src/net/sourceforge/bprocessor/gl/tool
Modified Files:
SelectStrategy.java
Log Message:
make union is more intelligent wrt selection
geometry, constraints and globals removed from D-View
Index: SelectStrategy.java
===================================================================
RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SelectStrategy.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** SelectStrategy.java 21 Jan 2008 15:12:12 -0000 1.29
--- SelectStrategy.java 24 Jan 2008 10:35:31 -0000 1.30
***************
*** 10,14 ****
import java.util.Collection;
import java.util.HashSet;
- import java.util.LinkedList;
import java.util.List;
import java.util.Set;
--- 10,13 ----
***************
*** 121,125 ****
initial = new HashSet(Selection.primary());
}
!
private Set<Geometric> extend(Command.Inverse inv, Set<Geometric> geometrics) {
Set<Vertex> vertices = new HashSet();
--- 120,124 ----
initial = new HashSet(Selection.primary());
}
!
private Set<Geometric> extend(Command.Inverse inv, Set<Geometric> geometrics) {
Set<Vertex> vertices = new HashSet();
***************
*** 145,166 ****
}
! Set<Space> spaces = new HashSet();
! for (Surface surface : surfaces) {
! List<Space> incident = new LinkedList();
! Space front = surface.getFrontDomain();
! Space back = surface.getBackDomain();
! if (!front.isVoid()) {
! incident.add(front);
! }
! if (!(back.isVoid() || (front == back))) {
! incident.add(back);
! }
!
! for (Space space : incident) {
! if (surfaces.containsAll(space.getEnvelope())) {
! spaces.add(space);
! }
! }
! }
edges.addAll(Surface.edges(surfaces));
--- 144,149 ----
}
!
! Set<Space> spaces = Surface.spaces(surfaces);
edges.addAll(Surface.edges(surfaces));
***************
*** 175,178 ****
--- 158,162 ----
}
+
private Set<Geometric> reduce(Command.Inverse inv, Set<Vertex> vertices) {
Set<Edge> edges = new HashSet();
***************
*** 196,217 ****
}
! Set<Space> spaces = new HashSet();
! for (Surface surface : surfaces) {
! List<Space> incident = new LinkedList();
! Space front = surface.getFrontDomain();
! Space back = surface.getBackDomain();
! if (!front.isVoid()) {
! incident.add(front);
! }
! if (!(back.isVoid() || (front == back))) {
! incident.add(back);
! }
!
! for (Space space : incident) {
! if (surfaces.containsAll(space.getEnvelope())) {
! spaces.add(space);
! }
! }
! }
if (spaces.size() > 0) {
--- 180,184 ----
}
! Set<Space> spaces = Surface.spaces(surfaces);
if (spaces.size() > 0) {
|