private static double calcWallPartLength(WallPart wp) { double wallLength = 0; List<WallNode> nodes = wp.getNodes(); int size = nodes.size(); WallNode n1 = nodes.get(0); for (int i = 1; i < size; i++) { WallNode n2 = nodes.get(i); wallLength += n1.getPoint().distance(n2.getPoint()); n1 = n2; } return wallLength; }
private static WallNode parseWallNode(Node node, Perspective pPerspective) { WallNode wn = new WallNode(); wn.setPoint(pPerspective.calcPoint(node)); wn.setBuildingNodeElements(buildingElements);
WallNode n2 = nodes.get(endWallNodeIndex); Point2d startPoint = n1.getPoint(); Point2d endPoint = n2.getPoint(); double segmentDistance = startPoint.distance(endPoint); Vector2d direction = new Vector2d(endPoint); mPoly = applyWindows(mPoly, n1.getBuildingNodeElements(), startPoint, direction, 0, false, catchFaceFactory, tm, counterClockwise); mPoly = applyWindows(mPoly, n2.getBuildingNodeElements(), startPoint, direction, segmentDistance, true, catchFaceFactory, tm, counterClockwise);
nodes.add(new WallNode(new Point2d(10, 0), null)); nodes.add(new WallNode(new Point2d(15, 0), Arrays.asList((BuildingNodeElement) new EntranceBuildingElement()))); nodes.add(new WallNode(new Point2d(18, 0), Arrays.asList((BuildingNodeElement) new WindowBuildingElement()))); nodes.add(new WallNode(new Point2d(20, 0), null)); nodes.add(new WallNode(new Point2d(20, 5), null)); nodes.add(new WallNode(new Point2d(10, 5), null)); nodes.add(nodes.get(0));
private Bbox2d calcBounds(BuildingPart bp) { Bbox2d bbox = new Bbox2d(); List<WallPart> wallParts = bp.getWall().getWallParts(); for (WallPart wp : wallParts) { for (WallNode wn : wp.getNodes()) { Point2d p = wn.getPoint(); bbox.addPoint(p); } } return bbox; }
for (WallNode wn : wp.getNodes()) { Point2d p = wn.getPoint();