From 9a88a1aa72a2c846728cb21911c581fedf4cd719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Kov=C3=A1r?= <matko@192.168.1.105> Date: Mon, 28 Feb 2022 16:57:55 +0100 Subject: [PATCH] fixed preview image loading --- .../src/main/java/cz/fidentis/analyst/Project.java | 4 +++- .../java/cz/fidentis/analyst/project/FaceStatePanel.java | 4 +--- .../cz/fidentis/analyst/project/ModelsTableModel.java | 2 +- .../java/cz/fidentis/analyst/project/ProjectPanel.java | 9 ++++----- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Comparison/src/main/java/cz/fidentis/analyst/Project.java b/Comparison/src/main/java/cz/fidentis/analyst/Project.java index ffcf7cfa..73a0fd18 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/Project.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/Project.java @@ -4,6 +4,7 @@ import cz.fidentis.analyst.face.HumanFace; import java.io.File; import java.io.IOException; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -218,7 +219,8 @@ public class Project { Path path = this.getCfg().getPathToFaceByName(name); File file = path.toFile(); face = new HumanFace(file, true); // loads also landmarks, if exist - Path preview = path.resolveSibling(name.concat("_preview.jpg")); + //Path preview = path.resolveSibling(name.concat("_preview.jpg")); + Path preview = Paths.get(face.getPath().split(".obj")[0] + "_preview.jpg"); face.setPreview(preview); this.addFace(face); out.printDuration("Loaded model " + face.getShortName() +" with " + face.getMeshModel().getNumVertices() + " vertices"); diff --git a/GUI/src/main/java/cz/fidentis/analyst/project/FaceStatePanel.java b/GUI/src/main/java/cz/fidentis/analyst/project/FaceStatePanel.java index e31ac69a..cfd4b4d3 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/project/FaceStatePanel.java +++ b/GUI/src/main/java/cz/fidentis/analyst/project/FaceStatePanel.java @@ -326,9 +326,7 @@ public class FaceStatePanel extends ControlPanel { } } else if (path != null && path.toFile().exists()) { - String pathString = path.toString(); - String name = pathString.substring(0, pathString.lastIndexOf('.')); // remove extention - Path preview = Paths.get(name.concat("_preview.jpg")); + Path preview = Paths.get(path.toString().split(".obj")[0] + "_preview.jpg"); try { image = ImageIO.read(preview.toFile()); diff --git a/GUI/src/main/java/cz/fidentis/analyst/project/ModelsTableModel.java b/GUI/src/main/java/cz/fidentis/analyst/project/ModelsTableModel.java index 8c76e899..980ca327 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/project/ModelsTableModel.java +++ b/GUI/src/main/java/cz/fidentis/analyst/project/ModelsTableModel.java @@ -61,7 +61,7 @@ public class ModelsTableModel extends DefaultTableModel { /** * Adds new row to model * @param name String name of the face - * @param hasKD Boolean if face has KD tree calculated + * @param Path path to preview (if null than default preview is set) */ public void addRowWithName(String name, Path path) { if (!path.toFile().exists()) { diff --git a/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java b/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java index 38af8f99..8815d6b9 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java +++ b/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java @@ -519,9 +519,8 @@ public class ProjectPanel extends JPanel { path.toString().lastIndexOf('.')); if (project.addNewPath(path)) { - - //Path preview = path.resolveSibling(name.concat("_preview_small.jpg")); - Path preview = path.resolveSibling(name.concat("_preview.jpg")); + + Path preview = Paths.get(path.toString().split(".obj")[0] + "_preview.jpg"); model.addRowWithName(name, preview); filterPanel.checkAllFacesLoaded(false); @@ -712,9 +711,9 @@ public class ProjectPanel extends JPanel { } Collections.sort(names); names.forEach(name -> { + HumanFace face = project.getFaceByName(name); - String pathString = face.getPath(); - Path preview = Paths.get(pathString.substring(0, pathString.lastIndexOf(".")).concat("_preview.jpg")); + Path preview = Paths.get(face.getPath().split(".obj")[0] + "_preview.jpg"); model.addRowWithName(name, preview); }); -- GitLab