[Bprocessor-commit] facade/src/net/sourceforge/bprocessor/facade/modellor NetFacadeModellor.java,
Status: Pre-Alpha
Brought to you by:
henryml
|
From: Nordholt <nor...@us...> - 2007-03-19 11:54:33
|
Update of /cvsroot/bprocessor/facade/src/net/sourceforge/bprocessor/facade/modellor In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27106/src/net/sourceforge/bprocessor/facade/modellor Modified Files: NetFacadeModellor.java Log Message: added a new type cut and the possibility to choose between them. Index: NetFacadeModellor.java =================================================================== RCS file: /cvsroot/bprocessor/facade/src/net/sourceforge/bprocessor/facade/modellor/NetFacadeModellor.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** NetFacadeModellor.java 15 Mar 2007 10:15:08 -0000 1.21 --- NetFacadeModellor.java 19 Mar 2007 11:54:32 -0000 1.22 *************** *** 51,54 **** --- 51,57 ---- private static final double FRAME_DEPTH = 0.05; + /** The depth of window and door frames */ + private static final double GLASS_FRAME = 0.02; + /** serial id */ private static final long serialVersionUID = 1L; *************** *** 353,356 **** --- 356,367 ---- s.getParameters().put(new Attribute("type", sel)); } + if (!single && (env.get("cut") == null)) { + List options = new LinkedList(); + options.add("type1"); + options.add("type2"); + Selector sel = new Selector(options); + sel.setCurrentValue("type1"); + s.getParameters().put(new Attribute("cut", sel)); + } } } *************** *** 372,377 **** while (fields.hasNext()) { Surface field = (Surface)fields.next(); ! if (field.getEdges().size() > 3) { Surface cut1 = cutType1(); Surface cut2 = cutType2(); cut1.setBackDomain(frame); --- 383,395 ---- while (fields.hasNext()) { Surface field = (Surface)fields.next(); ! if (field.getEdges().size() > 3) { ! Map envF = field.getParameters().environment(); Surface cut1 = cutType1(); + if (envF.get("cut") instanceof Selector) { + Selector sel = (Selector)envF.get("cut"); + if (sel.getCurrentValue().equals("type2")) { + cut1 = cutType3(); + } + } Surface cut2 = cutType2(); cut1.setBackDomain(frame); *************** *** 385,392 **** Set<Surface> frame1 = generateFrame(cut1, field.getEdges(), out); Set<Surface> frame2 = generateFrame(cut2, field.getEdges(), out); frame.removeSurface(cut1); frame.removeSurface(cut2); space.addAll(frame1); ! space.addAll(frame2); } } --- 403,413 ---- Set<Surface> frame1 = generateFrame(cut1, field.getEdges(), out); Set<Surface> frame2 = generateFrame(cut2, field.getEdges(), out); + frame.removeSurface(cut1); frame.removeSurface(cut2); space.addAll(frame1); ! space.addAll(frame2); ! Geometry.allPossibleCollapses(Geometry.collect(frame1)); ! Geometry.allPossibleCollapses(Geometry.collect(frame2)); } } *************** *** 476,482 **** } else if (type.equals("Door")) { frameSize = DOOR_FRAME; ! } } ! if (frameSize > 0) { Map offmap1 = new HashMap<Edge, Double>(); Map offmap2 = new HashMap<Edge, Double>(); --- 497,503 ---- } else if (type.equals("Door")) { frameSize = DOOR_FRAME; ! } } ! if (frameSize > FRAME_IDENTATION) { Map offmap1 = new HashMap<Edge, Double>(); Map offmap2 = new HashMap<Edge, Double>(); *************** *** 518,523 **** assignOpposite(front, hole, space, f); Geometry.holeAnalysis(hole); ! } } --- 539,576 ---- assignOpposite(front, hole, space, f); + Geometry.holeAnalysis(hole); ! } /*else if (frameSize == 0) { ! Map offmap1 = new HashMap<Edge, Double>(); ! for (Object o : hole.getEdges()) { ! Edge e = (Edge)o; ! offmap1.put(e, FRAME_IDENTATION); ! } ! Surface in = new Surface(Edge.placeOffset(hole.getEdges(), hole, offmap1)); ! Space f = new Space(type + " Frame", ! Space.CONSTRUCTION, ! Space.ELEMENT_LEVEL, ! true); ! Space g = new Space("Glass", ! Space.CONSTRUCTION, ! Space.ELEMENT_LEVEL, ! true); ! g.setTransparent(true); ! space.add(g); ! space.add(f); ! assignSame(front, in, space, f); ! assignSame(front, hole, space, g); ! in = space.insert(in); ! Geometry.holeAnalysis(in); ! ! Set sides = new HashSet(); ! Surface inEx = extrudeIntoSpace(in, FRAME_DEPTH, sides); ! space.add(inEx); ! assignSame(front, inEx, space, frame); ! Geometry.holeAnalysis(inEx); ! ! //assignOpposite(front, hole, space, f); ! Geometry.holeAnalysis(hole); ! }*/ } *************** *** 858,861 **** --- 911,933 ---- } + private static Surface cutType3() { + List<Vertex> vl = new LinkedList<Vertex>(); + Vertex first = new Vertex(0, 0, 0); + vl.add(new Vertex(0.050, 0, 0)); + vl.add(new Vertex(0.050, 0.125, 0)); + vl.add(new Vertex(0.004, 0.125, 0)); + vl.add(new Vertex(0.004, 0.121, 0)); + vl.add(new Vertex(0.000, 0.121, 0)); + List<Edge> el = new LinkedList<Edge>(); + Vertex prevV = first; + for (Vertex v : vl) { + el.add(new Edge(prevV, v)); + prevV = v; + } + el.add(new Edge(prevV, first)); + Surface cut = new Surface(el); + return cut; + } + /** * Generates one frame post. |