Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv389/src/net/sourceforge/bprocessor/model
Modified Files:
Surface.java Space.java
Log Message:
LayerModellor and space deletion
Index: Surface.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Surface.java,v
retrieving revision 1.117
retrieving revision 1.118
diff -C2 -d -r1.117 -r1.118
*** Surface.java 22 Oct 2006 14:32:47 -0000 1.117
--- Surface.java 30 Oct 2006 06:49:24 -0000 1.118
***************
*** 268,271 ****
--- 268,284 ----
/**
+ * Flip this surface and all holes
+ *
+ */
+ public void flipall() {
+ flip();
+ Iterator iter = getHoles().iterator();
+ while (iter.hasNext()) {
+ Surface current = (Surface) iter.next();
+ current.flipall();
+ }
+ }
+
+ /**
* Replace one edge e1 and its vertices with e2's
* @param e1 The edge to replace
***************
*** 457,460 ****
--- 470,488 ----
/**
+ * Copy this surface including all holes
+ * @param space Target space
+ * @return copy
+ */
+ public Surface copyall(Space space) {
+ Surface copy = copy(space);
+ Iterator iter = getHoles().iterator();
+ while (iter.hasNext()) {
+ Surface current = (Surface) iter.next();
+ copy.addHole(current.copy(space));
+ }
+ return copy;
+ }
+
+ /**
* Extrude with holes
* @param delta Distance to extrude
Index: Space.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Space.java,v
retrieving revision 1.90
retrieving revision 1.91
diff -C2 -d -r1.90 -r1.91
*** Space.java 30 Oct 2006 00:02:12 -0000 1.90
--- Space.java 30 Oct 2006 06:49:24 -0000 1.91
***************
*** 919,923 ****
}
}
!
}
--- 919,954 ----
}
}
! }
!
! /**
! * Delete the space and delete envelope surfaces not part of
! * another space.
! * @param space Space
! */
! public void delete(Space space) {
! List deletion = new LinkedList();
! {
! Iterator iter = space.getEnvelope().iterator();
! while (iter.hasNext()) {
! Surface current = (Surface) iter.next();
! Space other;
! if (current.getFrontDomain() == space) {
! other = current.getBackDomain();
! } else {
! other = current.getFrontDomain();
! }
! if (other == space || other == empty) {
! deletion.add(current);
! }
! }
! }
! {
! Iterator iter = deletion.iterator();
! while (iter.hasNext()) {
! Surface current = (Surface) iter.next();
! delete(current);
! }
! }
! remove(space);
}
***************
*** 1512,1516 ****
clear();
Space owner = this.getOwner();
! owner.remove(this);
}
--- 1543,1547 ----
clear();
Space owner = this.getOwner();
! owner.delete(this);
}
|