[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model/modellor TileModellor.java, 1.15, 1
Status: Pre-Alpha
Brought to you by:
henryml
|
From: rimestad <rim...@us...> - 2007-05-30 17:28:58
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/modellor In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7632/src/net/sourceforge/bprocessor/model/modellor Modified Files: TileModellor.java ModelBathModellor2.java Log Message: minor changes/fixes Index: TileModellor.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/modellor/TileModellor.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** TileModellor.java 30 May 2007 11:28:48 -0000 1.15 --- TileModellor.java 30 May 2007 17:28:58 -0000 1.16 *************** *** 49,53 **** private int height = 0; ! private Material jointMatetrial = new Material("Grey", new float[]{0.6f, 0.6f, 0.6f});; private Material tileColor = new Material("White", new float[]{1.0f, 1.0f, 1.0f}); --- 49,53 ---- private int height = 0; ! private Material jointMaterial = new Material("Grey", new float[]{0.6f, 0.6f, 0.6f}); private Material tileColor = new Material("White", new float[]{1.0f, 1.0f, 1.0f}); *************** *** 63,66 **** --- 63,68 ---- private Net net; + + private Set<Surface> ignoredSurfaces = new HashSet<Surface>(); /** *************** *** 135,138 **** --- 137,143 ---- @Override public void update(Object entity) { + if (!isActive()) { + return; + } if (space == null || surface == null) { log.warn("Could not update modellor due to null space og surface"); *************** *** 153,169 **** double offset = -(double)jointSize / 2000; for (Surface s : surs) { ! List<Edge> offsetEdges = Edge.offset(s.getEdges(), s, offset); ! Surface newS = new Surface(offsetEdges); ! outer.addHole(newS); ! space.addAll(newS); ! Space sp = new Space("Tile", Space.CONSTRUCTION, lvl, true); ! if (sign == -1) { ! newS.setBackDomain(sp); ! newS.setFrontMaterial(tileColor); ! } else { ! newS.setFrontDomain(sp); ! newS.setBackMaterial(tileColor); } - space.add(sp); } --- 158,176 ---- double offset = -(double)jointSize / 2000; for (Surface s : surs) { ! if (!ignoredSurfaces.contains(s)) { ! List<Edge> offsetEdges = Edge.offset(s.getEdges(), s, offset); ! Surface newS = new Surface(offsetEdges); ! outer.addHole(newS); ! space.addAll(newS); ! Space sp = new Space("Tile", Space.CONSTRUCTION, lvl, true); ! if (sign == -1) { ! newS.setBackDomain(sp); ! newS.setFrontMaterial(tileColor); ! } else { ! newS.setFrontDomain(sp); ! newS.setBackMaterial(tileColor); ! } ! space.add(sp); } } *************** *** 171,178 **** if (sign == -1) { outer.setBackDomain(joint); ! outer.setFrontMaterial(jointMatetrial); } else { outer.setFrontDomain(joint); ! outer.setBackMaterial(jointMatetrial); } Collection<Surface> tmp = new LinkedList<Surface>(); --- 178,185 ---- if (sign == -1) { outer.setBackDomain(joint); ! outer.setFrontMaterial(jointMaterial); } else { outer.setFrontDomain(joint); ! outer.setBackMaterial(jointMaterial); } Collection<Surface> tmp = new LinkedList<Surface>(); *************** *** 211,214 **** --- 218,222 ---- Collection<Edge> edges = new ArrayList<Edge>(surface.getEdges()); for (Surface s : surface.getHoles()) { + ignoredSurfaces.add(s); edges.addAll(s.getEdges()); } *************** *** 405,409 **** a = attributes.get("Setting height"); if (a != null) { ! int h = ((Double)a.getValue()).intValue(); if (h != height) { updateNet = true; --- 413,417 ---- a = attributes.get("Setting height"); if (a != null) { ! int h = (int)(1000 * (Double)a.getValue()); if (h != height) { updateNet = true; Index: ModelBathModellor2.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/modellor/ModelBathModellor2.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ModelBathModellor2.java 30 May 2007 11:28:48 -0000 1.5 --- ModelBathModellor2.java 30 May 2007 17:28:58 -0000 1.6 *************** *** 175,179 **** private void addTileModellors() { for (Space elem : walls.getElements()) { - String name = elem.getName(); if (elem.getType() == Space.CONSTRUCTION && elem.isContainer() && --- 175,178 ---- *************** *** 365,387 **** for (Space spc : doorAndWindows) { double maxDist = 0; ! Surface outer = null; for (Surface s : spc.getEnvelope()) { ! Surface news = s.copy(walls); ! double dist = news.center().distance(center); ! Geometry.holeAnalysis(news); ! if (dist > maxDist && ! Math.abs(news.normal().getZ()) < 0.0001 && ! news.getExterior() != null) { ! maxDist = dist; ! outer = news; } } sides.clear(); ! Surface s = outer.extrusion(-(wallThickness - 0.005), sides); walls.insert(s); for (Surface sur : sides) { walls.insert(sur); } ! } } --- 364,387 ---- for (Space spc : doorAndWindows) { double maxDist = 0; ! Surface inner = null; for (Surface s : spc.getEnvelope()) { ! if (s.getFrontDomain() == bath || s.getBackDomain() == bath) { ! inner = s.copy(walls); } } + //extrude tile layer in + Geometry.holeAnalysis(inner); sides.clear(); ! Surface s = inner.extrusion(0.005, sides); walls.insert(s); for (Surface sur : sides) { walls.insert(sur); } ! //extrude contrete layer in ! sides.clear(); ! sides.add(s.extrusion(wallThickness - 0.005, sides)); ! for (Surface sur : sides) { ! walls.insert(sur); ! } } } *************** *** 430,433 **** --- 430,434 ---- t = sur.extrusion(-wallThickness, sides); } + t.setOppositeSpace(doorSpc, bath); sides.add(t); for (Surface surface : sides) { *************** *** 467,470 **** --- 468,472 ---- t = sur.extrusion(-wallThickness, sides); } + t.setOppositeSpace(winSpc, bath); sides.add(t); for (Surface surface : sides) { |