Update of /cvsroot/bprocessor//model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25235/src/net/sourceforge/bprocessor/model
Modified Files:
Surface.java
Log Message:
refactoring of space assignment
Index: Surface.java
===================================================================
RCS file: /cvsroot/bprocessor//model/src/net/sourceforge/bprocessor/model/Surface.java,v
retrieving revision 1.153
retrieving revision 1.154
diff -C2 -d -r1.153 -r1.154
*** Surface.java 10 Apr 2007 13:01:10 -0000 1.153
--- Surface.java 10 Apr 2007 20:53:49 -0000 1.154
***************
*** 653,656 ****
--- 653,669 ----
// FIXME should return the sides instead of assigning
// spaces here.
+ assignSpaceForExtrusion(delta, n, facemap, top);
+
+ return top;
+ }
+
+ /**
+ * Assign the spaces for the extruded surfaces
+ * @param delta to know if the extrusion is forward or backward
+ * @param n the number of surfaces
+ * @param facemap the array of surfaces
+ * @param top the top surface
+ */
+ private void assignSpaceForExtrusion(double delta, int n, Surface[] facemap, Surface top) {
boolean flip = false;
boolean inside = false;
***************
*** 669,686 ****
--- 682,705 ----
if (delta < 0) {
facemap[i].setBackDomain(getBackDomain());
+ //facemap[i].setFrontMaterial(getBackMaterial());
if (exterior != null && inside) {
if (flip) {
facemap[i].setFrontDomain(exterior.getFrontDomain());
+ //facemap[i].setBackMaterial(exterior.getFrontMaterial());
} else {
facemap[i].setFrontDomain(exterior.getBackDomain());
+ //facemap[i].setBackMaterial(exterior.getBackMaterial());
}
}
} else {
facemap[i].setFrontDomain(getFrontDomain());
+ //facemap[i].setBackMaterial(getFrontMaterial());
if (exterior != null && inside) {
if (flip) {
facemap[i].setBackDomain(exterior.getBackDomain());
+ //facemap[i].setFrontMaterial(exterior.getBackMaterial());
} else {
facemap[i].setBackDomain(exterior.getFrontDomain());
+ //facemap[i].setFrontMaterial(exterior.getFrontMaterial());
}
}
***************
*** 689,697 ****
if (delta < 0) {
top.setBackDomain(getBackDomain());
} else {
top.setFrontDomain(getFrontDomain());
}
-
- return top;
}
--- 708,716 ----
if (delta < 0) {
top.setBackDomain(getBackDomain());
+ //top.setFrontMaterial(getBackMaterial());
} else {
top.setFrontDomain(getFrontDomain());
+ //top.setBackMaterial(getFrontMaterial());
}
}
***************
*** 815,859 ****
}
! // FIXME should return the sides instead of assigning
! // spaces here.
! boolean flip = false;
! boolean inside = false;
!
! if (exterior != null) {
! Vertex n0 = normal();
! Vertex n1 = exterior.normal();
! Vertex o = n0.add(n1);
! if (o.isZero()) {
! flip = true;
! }
! inside = exterior.getOwner() == getOwner();
! }
!
! for (int i = 0; i < n; i++) {
! if (delta < 0) {
! facemap[i].setBackDomain(getBackDomain());
! if (exterior != null && inside) {
! if (flip) {
! facemap[i].setFrontDomain(exterior.getFrontDomain());
! } else {
! facemap[i].setFrontDomain(exterior.getBackDomain());
! }
! }
! } else {
! facemap[i].setFrontDomain(getFrontDomain());
! if (exterior != null && inside) {
! if (flip) {
! facemap[i].setBackDomain(exterior.getBackDomain());
! } else {
! facemap[i].setBackDomain(exterior.getFrontDomain());
! }
! }
! }
! }
! if (delta < 0) {
! top.setBackDomain(getBackDomain());
! } else {
! top.setFrontDomain(getFrontDomain());
! }
return top;
--- 834,838 ----
}
! assignSpaceForExtrusion(delta, n, facemap, top);
return top;
***************
*** 2072,2076 ****
*
* @return true if consistent
! * @throws Exception
*/
public boolean check() throws Exception {
--- 2051,2055 ----
*
* @return true if consistent
! * @throws Exception Exception if the list of surfaces is null
*/
public boolean check() throws Exception {
|