Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2994/src/net/sourceforge/bprocessor/model
Modified Files:
Command.java
Log Message:
frame command done for now
Index: Command.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Command.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** Command.java 21 Nov 2007 13:51:01 -0000 1.33
--- Command.java 22 Nov 2007 13:32:49 -0000 1.34
***************
*** 1026,1032 ****
public Frame(Space net) {
this.net = net;
! parameters.put("outside-frame", 1.0);
! parameters.put("inside-frame", 1.0);
! parameters.put("interior", 1.0);
parameters.put("depth", 1.0);
}
--- 1026,1032 ----
public Frame(Space net) {
this.net = net;
! parameters.put("outside-frame", 0.2);
! parameters.put("inside-frame", 0.1);
! parameters.put("interior", 0.1);
parameters.put("depth", 1.0);
}
***************
*** 1038,1042 ****
double inside = parameters.getDouble("inside-frame");
double delta = parameters.getDouble("interior");
!
List<Surface> surfaces = new LinkedList();
--- 1038,1042 ----
double inside = parameters.getDouble("inside-frame");
double delta = parameters.getDouble("interior");
! double depth = parameters.getDouble("depth");
List<Surface> surfaces = new LinkedList();
***************
*** 1063,1067 ****
}
! if (boundary.size() > 0) {
List<Vertex> vertices = Offset.vertices(boundary);
Vertex normal = Surface.normalOf(boundary);
--- 1063,1067 ----
}
! {
List<Vertex> vertices = Offset.vertices(boundary);
Vertex normal = Surface.normalOf(boundary);
***************
*** 1076,1084 ****
Space union = new Space("Union", Space.CONSTRUCTION, true);
! if (boundary.size() > 0) {
! List<Edge> offset = Offset.offset(boundary, inside + outside - (delta / 2));
! Surface exterior = new Surface(offset);
! union.insert(exterior);
! }
List<Surface> interior = new LinkedList();
--- 1076,1085 ----
Space union = new Space("Union", Space.CONSTRUCTION, true);
! Collection<Surface> inserted = new LinkedList();
!
! List<Edge> offset = Offset.offset(boundary, inside + outside - (delta / 2));
! Surface exterior = new Surface(offset);
! inserted.add(exterior);
!
List<Surface> interior = new LinkedList();
***************
*** 1086,1091 ****
--- 1087,1106 ----
interior.add(new Surface(Offset.offset(current.getEdges(), -delta / 2)));
}
+ inserted.addAll(interior);
for (Surface current : interior) {
+ exterior.addHole(current);
+ }
+
+ if (depth != 0) {
+ Collection<Surface> sides = new LinkedList();
+ Set<Surface> tops = new HashSet();
+ Surface top = exterior.extrusionall(depth, sides, tops);
+ inserted.addAll(sides);
+ inserted.addAll(tops);
+ inserted.add(top);
+ }
+
+ for (Surface current : inserted) {
union.insert(current);
}
|