public static TextureData takeFloorTextureData(BuildingModel buildingModel, BuildingPart bp, BuildingElementsTextureManager tm, boolean colorable) { String mt = null; if (bp.getFloorMaterialType() != null) { mt = bp.getFloorMaterialType(); } else if (buildingModel.getFloorMaterialType() != null) { mt = buildingModel.getFloorMaterialType(); } TextureData td = tm.findTexture(new TextureFindCriteria(Type.FLOOR, mt, null, null, null, colorable)); if (td == null) { td = new TextureData(null, 1, 1); } return td; }
private static BuildingPart cloneBuildingPart(BuildingPart bp, Double height) { BuildingPart ret = new BuildingPart(); if (bp.getMaxHeight() == null) { ret.setMaxHeight(bp.getDefaultMaxHeight() + height); } else { ret.setMaxHeight(bp.getMaxHeight() + height); } if (bp.getMinHeight() == null) { ret.setMinHeight(bp.getDefaultMinHeight() + height); } else { ret.setMinHeight(bp.getMinHeight() + height); } ret.setFacadeColor(bp.getFacadeColor()); ret.setFacadeMaterialType(bp.getFacadeMaterialType()); ret.setFloorColor(bp.getFloorColor()); ret.setFloorMaterialType(bp.getFloorMaterialType()); ret.setInlineWalls(bp.getInlineWalls()); ret.setLevelHeight(bp.getLevelHeight()); ret.setMaxLevel(bp.getMaxLevel()); ret.setMinLevel(bp.getMinLevel()); ret.setRoof(bp.getRoof()); ret.setRoofColor(bp.getRoofColor()); ret.setRoofLevels(bp.getRoofLevels()); ret.setRoofMaterialType(bp.getRoofMaterialType()); ret.setWall(bp.getWall()); return ret; }