diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java index 0b95943a44f02eea6dfb63cf89cb3b317a73aeed..ae8fcff5f13ee70d55bbf096d32dcb6fc20a01ae 100644 --- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java +++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java @@ -758,6 +758,18 @@ public class ProjectService implements IProjectService { topLayout.setHierarchicalView(buildInLayout.isNested()); model.addLayout(0, topLayout); int submodelId = 1; + List<Layout> semanticLevelOverlays = new ArrayList<>(); + if (buildInLayout.equals(BuildInLayout.SEMANTIC)) { + for (int i = 0; i <= model.getZoomLevels(); i++) { + String directory = params.getProjectDir() + "/" + buildInLayout.getDirectorySuffix() + "-" + i + "-" + model.getId() + "/"; + Layout semanticOverlay = new Layout(buildInLayout.getTitle() + "-" + i, directory, true); + semanticOverlay.setStatus(LayoutStatus.NA); + semanticOverlay.setProgress(0.0); + semanticOverlay.setHierarchicalView(buildInLayout.isNested()); + semanticLevelOverlays.add(semanticOverlay); + model.addLayout(1, semanticOverlay); + } + } for (ModelSubmodelConnection connection : model.getSubmodelConnections()) { Layout layout = new Layout(buildInLayout.getTitle(), params.getProjectDir() + "/" + buildInLayout.getDirectorySuffix() + submodelId + "/", true); layout.setStatus(LayoutStatus.NA); @@ -765,10 +777,21 @@ public class ProjectService implements IProjectService { layout.setHierarchicalView(buildInLayout.isNested()); layout.setParentLayout(topLayout); connection.getSubmodel().addLayout(0, layout); - submodelId++; connection.getSubmodel().setZoomLevels(generator.computeZoomLevels(connection.getSubmodel().getModel())); connection.getSubmodel().setTileSize(MapGenerator.TILE_SIZE); + if (buildInLayout.equals(BuildInLayout.SEMANTIC)) { + for (int i = 0; i <= model.getZoomLevels(); i++) { + String directory = params.getProjectDir() + "/" + buildInLayout.getDirectorySuffix() + "-" + i + "-" + submodelId + "/"; + Layout semanticOverlay = new Layout(buildInLayout.getTitle() + "-" + i, directory, true); + semanticOverlay.setStatus(LayoutStatus.NA); + semanticOverlay.setProgress(0.0); + semanticOverlay.setHierarchicalView(buildInLayout.isNested()); + semanticOverlay.setParentLayout(semanticLevelOverlays.get(i)); + connection.getSubmodel().addLayout(1, semanticOverlay); + } + } + submodelId++; } }