Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12515/src/net/sourceforge/bprocessor/model
Modified Files:
Surface.java
Log Message:
Space assignment
Index: Surface.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Surface.java,v
retrieving revision 1.59
retrieving revision 1.60
diff -C2 -d -r1.59 -r1.60
*** Surface.java 20 Dec 2005 13:54:53 -0000 1.59
--- Surface.java 20 Dec 2005 15:07:52 -0000 1.60
***************
*** 457,466 ****
--- 457,492 ----
// FIXME should return the sides instead of assigning
// spaces here.
+ boolean flip = false;
+
+ if (exterior != null) {
+ Vertex n0 = normal();
+ n0.scale(1 / n0.length());
+ Vertex n1 = exterior.normal();
+ n1.scale(1 / n1.length());
+ Vertex o = n0.add(n1);
+ if (o.isZero()) {
+ flip = true;
+ }
+ }
for (int i = 0; i < n; i++) {
if (delta < 0) {
facemap[i].setBackDomain(getBackDomain());
+ if (exterior != null) {
+ if (flip) {
+ facemap[i].setFrontDomain(exterior.getFrontDomain());
+ } else {
+ facemap[i].setFrontDomain(exterior.getBackDomain());
+ }
+ }
} else {
facemap[i].setFrontDomain(getFrontDomain());
+ if (exterior != null) {
+ if (flip) {
+ facemap[i].setBackDomain(exterior.getBackDomain());
+ } else {
+ facemap[i].setBackDomain(exterior.getFrontDomain());
+ }
+ }
}
}
|