[Bprocessor-commit] facade/src/net/sourceforge/bprocessor/facade/modellor NetFacadeModellor.java,
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Nordholt <nor...@us...> - 2006-12-30 15:33:59
|
Update of /cvsroot/bprocessor/facade/src/net/sourceforge/bprocessor/facade/modellor In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24504/src/net/sourceforge/bprocessor/facade/modellor Modified Files: NetFacadeModellor.java Log Message: single facade net-fields has en openable parameter wich doubles the framewidth of the corresponding windows. Double facade reimplemented to use nested facade modellors. Index: NetFacadeModellor.java =================================================================== RCS file: /cvsroot/bprocessor/facade/src/net/sourceforge/bprocessor/facade/modellor/NetFacadeModellor.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** NetFacadeModellor.java 21 Dec 2006 14:23:49 -0000 1.7 --- NetFacadeModellor.java 30 Dec 2006 15:33:57 -0000 1.8 *************** *** 20,23 **** --- 20,24 ---- import net.sourceforge.bprocessor.model.Geometry; import net.sourceforge.bprocessor.model.Net; + import net.sourceforge.bprocessor.model.ParameterBlock; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Space; *************** *** 57,60 **** --- 58,64 ---- private boolean single = true; + /** Window spaces for the double facade */ + private Set < Space > windows = new HashSet < Space > (); + /** The logger */ private static Logger log = Logger.getLogger(NetFacadeModellor.class); *************** *** 106,110 **** NetFacadeModellor mod = new NetFacadeModellor(); mod.setSpace(s); ! Project.getInstance().addObserver(mod); s.setModellor(mod); Iterator it = s.getEnvelope().iterator(); --- 110,114 ---- NetFacadeModellor mod = new NetFacadeModellor(); mod.setSpace(s); ! Project.getInstance().scheduleObserver(mod); s.setModellor(mod); Iterator it = s.getEnvelope().iterator(); *************** *** 219,222 **** --- 223,231 ---- public void setFrameWidth(double frameWidth) { this.frameWidth = frameWidth; + Iterator it = net.getEdges().iterator(); + while (it.hasNext()) { + Edge e = (Edge)it.next(); + e.setParameters(new ParameterBlock()); + } } *************** *** 242,248 **** private void prepareNet(Net n) { Collection edges = n.getEdges(); ! Iterator it = edges.iterator(); ! while (it.hasNext()) { ! Edge e = (Edge)it.next(); Map env = e.getParameters().environment(); if (env.get("width") == null) { --- 251,257 ---- private void prepareNet(Net n) { Collection edges = n.getEdges(); ! Iterator itE = edges.iterator(); ! while (itE.hasNext()) { ! Edge e = (Edge)itE.next(); Map env = e.getParameters().environment(); if (env.get("width") == null) { *************** *** 250,255 **** } } } ! /** * Creates a facade from a net. --- 259,272 ---- } } + Iterator itS = n.getSurfaces().iterator(); + while (itS.hasNext()) { + Surface s = (Surface)itS.next(); + Map env = s.getParameters().environment(); + if (env.get("openable") == null) { + s.getParameters().put("openable", false); + } + } } ! /** * Creates a facade from a net. *************** *** 258,263 **** private void createDoubleFacade(Net net) { if (frame == null) { ! frame = new Space("Frame", Space.CONSTRUCTION, ! Space.ELEMENT_LEVEL, true); space.add(frame); } --- 275,282 ---- private void createDoubleFacade(Net net) { if (frame == null) { ! frame = new Space("Frame", ! Space.CONSTRUCTION, ! Space.ELEMENT_LEVEL, ! true); space.add(frame); } *************** *** 266,286 **** while (fields.hasNext()) { Surface field = (Surface)fields.next(); Surface fcopy = field.copyall(space); ! Iterator fEdges = fcopy.getEdges().iterator(); ! Map offsetMap = new HashMap(); ! while (fEdges.hasNext()) { ! Edge e = (Edge)fEdges.next(); ! Map env = e.getParameters().environment(); ! double width = ((Double)env.get("width")).doubleValue(); ! offsetMap.put(e, Double.valueOf(-width)); ! } ! Surface h = new Surface(Edge.placeOffset(fcopy.getEdges(), fcopy, offsetMap)); ! h = space.insert(h); ! Geometry.holeAnalysis(h); ! assignSame(front, fcopy, space, frame); ! Set sides = new HashSet(); ! extrudeIntoSpace(fcopy, depth, sides); ! sides = new HashSet(); ! Geometry.holeAnalysis(space.insert(extrudeIntoSpace(h, depth, sides))); } } --- 285,300 ---- while (fields.hasNext()) { Surface field = (Surface)fields.next(); + Space window = new Space("Window", + Space.CONSTRUCTION, + space.getLevel() + 1, + true); + space.add(window); Surface fcopy = field.copyall(space); ! assignSame(front, fcopy, space, window); ! windows.add(window); ! NetFacadeModellor winModellor = (NetFacadeModellor)newInstance(window); ! winModellor.setFront(fcopy); ! winModellor.setDepth(depth); ! winModellor.setFrameWidth(frameWidth); } } *************** *** 293,298 **** private void createSingleFacade(Net net) { if (frame == null) { ! frame = new Space("Frame", Space.CONSTRUCTION, ! Space.ELEMENT_LEVEL, true); space.add(frame); } --- 307,314 ---- private void createSingleFacade(Net net) { if (frame == null) { ! frame = new Space("Frame", ! Space.CONSTRUCTION, ! Space.ELEMENT_LEVEL, ! true); space.add(frame); } *************** *** 317,324 **** Map offsetMap = new HashMap(); Iterator fieldEdges = field.getEdges().iterator(); while (fieldEdges.hasNext()) { Edge e = (Edge)fieldEdges.next(); ! Map env = e.getParameters().environment(); ! double width = ((Double)env.get("width")).doubleValue(); if (outline.contains(e)) { offsetMap.put(e, Double.valueOf(-width)); --- 333,348 ---- Map offsetMap = new HashMap(); Iterator fieldEdges = field.getEdges().iterator(); + Map envF = field.getParameters().environment(); + boolean openable = false; + if (envF.get("openable") != null) { + openable = (Boolean)envF.get("openable"); + } while (fieldEdges.hasNext()) { Edge e = (Edge)fieldEdges.next(); ! Map envE = e.getParameters().environment(); ! double width = ((Double)envE.get("width")).doubleValue(); ! if (openable) { ! width *= 2; ! } if (outline.contains(e)) { offsetMap.put(e, Double.valueOf(-width)); |