[Bprocessor-commit] /model/src/net/sourceforge/bprocessor/model Surface.java, 1.153, 1.154
Status: Pre-Alpha
Brought to you by:
henryml
|
From: rimestad <rim...@us...> - 2007-04-10 20:55:21
|
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 { |