diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a0c8e9d67eefaf2dddf8136119e98225b7f30ff..b8cbc073138102fbfdb05cdeacd50eaef1d24426 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.18.3] (2026-04-16) + +### Fixes + +- Fixed FragmentedSurface errors reporting roof BoundarySurfaces as ground BoundarySurfaces +- Fixed degenerated triangles causing false-positive detection of AllPolygonsWrongOrientation errors +- Fixed -db_location and -db_settings arguments not being parsed when starting the GUI from the CLI + ## [3.18.2] (2026-02-24) ### Added diff --git a/CityDoctorParent/CityDoctorCheckResult/pom.xml b/CityDoctorParent/CityDoctorCheckResult/pom.xml index b9cc051922e5d04306d74aca1c484fecc9da43f4..a7be6eb3ebed479cd63c911fb69a5f7ddc9ab9cc 100644 --- a/CityDoctorParent/CityDoctorCheckResult/pom.xml +++ b/CityDoctorParent/CityDoctorCheckResult/pom.xml @@ -6,7 +6,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 CityDoctorCheckResult diff --git a/CityDoctorParent/CityDoctorEdge/pom.xml b/CityDoctorParent/CityDoctorEdge/pom.xml index 284ce8455b8a485a446a01ff75bc75db0d852878..bbc36d1045baf69b4a756fbe6c48251d8ca63078 100644 --- a/CityDoctorParent/CityDoctorEdge/pom.xml +++ b/CityDoctorParent/CityDoctorEdge/pom.xml @@ -6,7 +6,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 CityDoctorEdge diff --git a/CityDoctorParent/CityDoctorModel/pom.xml b/CityDoctorParent/CityDoctorModel/pom.xml index e107b5be16f1645cc5d38b84ca3257e608f36a87..5ec8a92a2726163a9b66027872f30f66b67f2262 100644 --- a/CityDoctorParent/CityDoctorModel/pom.xml +++ b/CityDoctorParent/CityDoctorModel/pom.xml @@ -6,7 +6,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 ${project.version}-${git.commit.id.abbrev} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractErrorVisitor.java index 5ad1d34bffb285a24575fb1eaf8c90c23ce9c002..731a8cb7fadba54c6c24e4189b30b5f8f3b12837 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractErrorVisitor.java @@ -37,7 +37,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError; @@ -181,7 +181,7 @@ public abstract class AbstractErrorVisitor implements ErrorVisitor { } @Override - public void visit(SurfaceUnfragmentedError err) { + public void visit(SurfaceFragmentedError err) { } @Override diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorVisitor.java index 82c9a5f8c12f9a6f3f3a282523b023c231c3a48d..8dc960cdc9a55b6da75e6c8e028703722e662111 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorVisitor.java @@ -55,7 +55,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError; @@ -135,7 +135,7 @@ public interface ErrorVisitor { public void visit(SchematronError err); - public void visit(SurfaceUnfragmentedError err); + public void visit(SurfaceFragmentedError err); public void visit(DegeneratedRingError err); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/HealingMethod.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/HealingMethod.java index 0fe22b7de1b5c2f412b6ec8b05d9a46063095662..8354c05892b4d4a07945a6210960ec45a9451b33 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/HealingMethod.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/HealingMethod.java @@ -48,7 +48,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError; import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError; @@ -189,7 +189,7 @@ public interface HealingMethod { return false; } - default boolean visit(SurfaceUnfragmentedError err, ModificationListener l) { + default boolean visit(SurfaceFragmentedError err, ModificationListener l) { return false; } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/QualityAdeErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/QualityAdeErrorVisitor.java index 75e7903506063efb15d21dcd23722596d7d61020..fc6e826523c79db5923df87a663a3ebed55fe35a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/QualityAdeErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/QualityAdeErrorVisitor.java @@ -55,7 +55,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError; import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError; @@ -367,7 +367,7 @@ public class QualityAdeErrorVisitor extends AbstractErrorVisitor { } @Override - public void visit(SurfaceUnfragmentedError err) { + public void visit(SurfaceFragmentedError err) { // not translated } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Requirement.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Requirement.java index d9e4ff53ec791e2d8e39984504e8a2118a1e4601..8fda9ebcd35196ef44cf8b0baa2170e0c7c2a77e 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Requirement.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Requirement.java @@ -63,7 +63,7 @@ public class Requirement implements Serializable { public static final Requirement R_GE_R_NULL_AREA = new Requirement("R_GE_R_NULL_AREA", RequirementType.GEOMETRY); public static final Requirement R_SE_BS_GROUND_UNFRAGMENTED = new Requirement("R_SE_BS_GROUND_UNFRAGMENTED", RequirementType.SEMANTIC); - public static final Requirement R_SE_BS_ROOF_UNFRAGMENTED = new Requirement("R_SE_BS_GROUND_UNFRAGMENTED", RequirementType.SEMANTIC); + public static final Requirement R_SE_BS_ROOF_UNFRAGMENTED = new Requirement("R_SE_BS_ROOF_UNFRAGMENTED", RequirementType.SEMANTIC); public static final Requirement R_SE_BS_IS_CEILING = new Requirement("R_SE_BS_IS_CEILING", RequirementType.SEMANTIC); public static final Requirement R_SE_BS_IS_FLOOR = new Requirement("R_SE_BS_IS_FLOOR", RequirementType.SEMANTIC); public static final Requirement R_SE_BS_IS_WALL = new Requirement("R_SE_BS_IS_WALL", RequirementType.SEMANTIC); @@ -83,6 +83,7 @@ public class Requirement implements Serializable { defaultParameters.add(new DefaultParameter(UPPER_ANGLE_NAME, "135", Unit.DEGREE)); R_SE_BS_IS_WALL.parameters = Collections.unmodifiableList(defaultParameters); + defaultParameters = new ArrayList<>(); defaultParameters.add(new DefaultParameter(MAX_ANGLE_DEVIATION, "1", Unit.DEGREE)); R_SE_BS_ROOF_UNFRAGMENTED.parameters = Collections.unmodifiableList(defaultParameters); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/SurfaceUnfragmentedError.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/SurfaceFragmentedError.java similarity index 94% rename from CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/SurfaceUnfragmentedError.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/SurfaceFragmentedError.java index 9236bf0daf4facc6cf7e1d46fc6be6984fffc269..8baa20db11ad192c4b0a8db39aabf8acdca87b1f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/SurfaceUnfragmentedError.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/SurfaceFragmentedError.java @@ -36,7 +36,7 @@ import java.io.Serial; * @author Matthias Betz * */ -public class SurfaceUnfragmentedError implements CheckError { +public class SurfaceFragmentedError implements CheckError { @Serial private static final long serialVersionUID = 3146243879393474196L; @@ -44,7 +44,7 @@ public class SurfaceUnfragmentedError implements CheckError { private final BoundarySurface bs; private final double angleDeviation; - public SurfaceUnfragmentedError(BoundarySurface bs, double angleDerivation) { + public SurfaceFragmentedError(BoundarySurface bs, double angleDerivation) { this.bs = bs; this.angleDeviation = angleDerivation; } diff --git a/CityDoctorParent/CityDoctorValidation/pom.xml b/CityDoctorParent/CityDoctorValidation/pom.xml index f52a83cb61cd0d775bc71648142946b5c3b462db..4ef17f97861fe8f6506547a95f89303e2de96433 100644 --- a/CityDoctorParent/CityDoctorValidation/pom.xml +++ b/CityDoctorParent/CityDoctorValidation/pom.xml @@ -4,7 +4,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 CityDoctorValidation CityDoctorValidation diff --git a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/CityDoctorValidation.java b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/CityDoctorValidation.java index c96294b60becb86c1e48346faa559798ba633601..d02613c594a2c35d8c1f27897ad8c384e86f1475 100644 --- a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/CityDoctorValidation.java +++ b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/CityDoctorValidation.java @@ -96,7 +96,7 @@ public class CityDoctorValidation { return outputFile; } - private static void lookForDbConfigFileParameter(ArgumentParser argParser) { + public static void lookForDbConfigFileParameter(ArgumentParser argParser) { if (!argParser.containsOption("db_config")) { return; } @@ -108,7 +108,7 @@ public class CityDoctorValidation { } } - private static void lookForDbLocationParameter(ArgumentParser argParser) { + public static void lookForDbLocationParameter(ArgumentParser argParser) { if (!argParser.containsOption("db_location")) { return; } diff --git a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/AllPolygonsWrongOrientationCheck.java b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/AllPolygonsWrongOrientationCheck.java index 277026e8e0e6b945301be3c48a1a0ed451e0cacd..4e7c705cf15049ccffbe16412dd3ddc70bc36db5 100644 --- a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/AllPolygonsWrongOrientationCheck.java +++ b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/AllPolygonsWrongOrientationCheck.java @@ -118,13 +118,15 @@ public class AllPolygonsWrongOrientationCheck extends Check { // find the centroid of a triangle Vector3d centroid = t.getCentroid(); // create a point outside of the geometry - Vector3d outsidePoint = bbox[0].minus(Vector3d.X, 5).minus(Vector3d.Y, 5).minus(Vector3d.Z, 5); + Vector3d outsideDif1 = new Vector3d(5, 5, 5); + Vector3d outsidePoint = bbox[0].minus(outsideDif1); // create a second point outside of the geometry // the check can fail if the building is exactly oriented so that the ray is // parallel to a side of the building // in order to avoid this we check two rays, if one of those says it is oriented // correctly it is oriented correctly - Vector3d secondOutsidePoint = bbox[0].minus(Vector3d.X, 5).minus(Vector3d.Y, 10).minus(Vector3d.Z, 5); + Vector3d outsideDif2 = new Vector3d(7, 10, 5); + Vector3d secondOutsidePoint = bbox[0].minus(outsideDif2); return checkIfGeometryIsWrongOriented(tessPolygons, centroid, outsidePoint) || checkIfGeometryIsWrongOriented(tessPolygons, centroid, secondOutsidePoint); } @@ -164,8 +166,8 @@ public class AllPolygonsWrongOrientationCheck extends Check { } private Triangle3d findSuitableTriangle(TesselatedPolygon p1) { - Triangle3d t = p1.getTriangles().get(0); - double maxArea = t.getArea(); + Triangle3d t = null; + double maxArea = Double.NEGATIVE_INFINITY; for (Triangle3d tri : p1.getTriangles()) { double area = tri.getArea(); if (area > maxArea) { @@ -173,6 +175,9 @@ public class AllPolygonsWrongOrientationCheck extends Check { t = tri; } } + if (t == null) { + throw new IllegalStateException("No suitable triangle found"); + } return t; } diff --git a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/semantics/RoofSurfaceUnfragmentedCheck.java b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/semantics/RoofSurfaceUnfragmentedCheck.java index 2de941fa5363d0a0dbef3c3cdd5a036773e27e94..e5104001648cbce524f3cd400b35cd96e72cae30 100644 --- a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/semantics/RoofSurfaceUnfragmentedCheck.java +++ b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/semantics/RoofSurfaceUnfragmentedCheck.java @@ -29,6 +29,7 @@ import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.Requirement; import de.hft.stuttgart.citydoctor2.check.RequirementType; +import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.checks.util.CollectionUtils; import de.hft.stuttgart.citydoctor2.checks.util.UnfragmentedCheck; import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; @@ -80,6 +81,10 @@ public class RoofSurfaceUnfragmentedCheck extends Check { } // only use lod1 and lod2 polygons CheckResult cr = UnfragmentedCheck.checkForFragmentedBoundarySurfaces(this, bs, maxAngleDeviation); + if (cr.getResultStatus() == ResultStatus.OK) { + // check if neighboring roof surfaces have the same average normal + // they should be merged + } bs.addCheckResult(cr); } diff --git a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/util/UnfragmentedCheck.java b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/util/UnfragmentedCheck.java index 81a920216c176de8c9813082bc7ec7688bf73b87..1901645d791bb0f994de03f25620fe5fb2b62648 100644 --- a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/util/UnfragmentedCheck.java +++ b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/util/UnfragmentedCheck.java @@ -24,7 +24,7 @@ import java.util.List; import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.ResultStatus; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; import de.hft.stuttgart.citydoctor2.datastructure.Geometry; import de.hft.stuttgart.citydoctor2.datastructure.Polygon; @@ -75,7 +75,7 @@ public class UnfragmentedCheck { double dot = averageNormal.dot(n); double acos = Math.acos(dot); if (acos > delta) { - SurfaceUnfragmentedError err = new SurfaceUnfragmentedError(bs, acos); + SurfaceFragmentedError err = new SurfaceFragmentedError(bs, acos); return new CheckResult(c, ResultStatus.ERROR, err); } } diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/pom.xml b/CityDoctorParent/Extensions/CityDoctorGUI/pom.xml index 233c78343e5432c95d2300163e0b2cf23c99be58..c7bfddab8c995ee1f1d3904d32fa0aa8eda5b98d 100644 --- a/CityDoctorParent/Extensions/CityDoctorGUI/pom.xml +++ b/CityDoctorParent/Extensions/CityDoctorGUI/pom.xml @@ -6,7 +6,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 ../../pom.xml CityDoctorGUI diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/GlobalErrorVisitor.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/GlobalErrorVisitor.java index 0bfb5d97799e22285078364259bb3b0c395644fb..939a84fc3c899a85de2aa836083ccf1df867be7c 100644 --- a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/GlobalErrorVisitor.java +++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/GlobalErrorVisitor.java @@ -39,7 +39,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError; @@ -186,7 +186,7 @@ public class GlobalErrorVisitor implements ErrorVisitor { } @Override - public void visit(SurfaceUnfragmentedError err) { + public void visit(SurfaceFragmentedError err) { } @Override diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/ListErrorVisitor.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/ListErrorVisitor.java index b86814a3c3f9fb877e435f651726dbcb551c5e2c..8412762c26ea8bfe6bba4cdd7b5a79e39279223b 100644 --- a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/ListErrorVisitor.java +++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/ListErrorVisitor.java @@ -41,7 +41,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; @@ -243,7 +243,7 @@ public class ListErrorVisitor implements ErrorVisitor { } @Override - public void visit(SurfaceUnfragmentedError err) { + public void visit(SurfaceFragmentedError err) { // nothing to display } diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/MainWindow.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/MainWindow.java index 736cdafd5333862a869f392344d01220b4469892..5370677b6143ac5ff3c8a07b140950077325fbb4 100644 --- a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/MainWindow.java +++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/MainWindow.java @@ -278,6 +278,8 @@ public class MainWindow extends Application { System.exit(4); } } + CityDoctorValidation.lookForDbConfigFileParameter(argParser); + CityDoctorValidation.lookForDbLocationParameter(argParser); Application.launch(args); } diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ErrorItemVisitor.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ErrorItemVisitor.java index 1f23d576ca485543ec11c412f20b077264fc8e8b..c79b0ec5f6e1cde306b2ac9d8457cbee5062e6f6 100644 --- a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ErrorItemVisitor.java +++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ErrorItemVisitor.java @@ -36,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError; import de.hft.stuttgart.citydoctor2.check.error.SchematronError; import de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError; import de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError; -import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; +import de.hft.stuttgart.citydoctor2.check.error.SurfaceFragmentedError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon; @@ -396,7 +396,7 @@ public class ErrorItemVisitor extends AbstractErrorVisitor { } @Override - public void visit(SurfaceUnfragmentedError err) { + public void visit(SurfaceFragmentedError err) { TextNode textNode = new TextNode( Localization.getText("ErrorItemVisitor.deviation") + ": " + err.getAngleDeviation()); TreeItem textItem = new TreeItem<>(textNode); diff --git a/CityDoctorParent/Extensions/CityDoctorHealer/pom.xml b/CityDoctorParent/Extensions/CityDoctorHealer/pom.xml index ee969799a96ee5d5da1bef8c95b367b8011e3052..7d1545935d6c936949cca082bd4151a831a6feb7 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealer/pom.xml +++ b/CityDoctorParent/Extensions/CityDoctorHealer/pom.xml @@ -6,7 +6,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 ../../pom.xml CityDoctorHealer diff --git a/CityDoctorParent/Extensions/CityDoctorHealerGUI/pom.xml b/CityDoctorParent/Extensions/CityDoctorHealerGUI/pom.xml index 04a0807e378bcfe911e641c4befb01fcbeee7fca..eb01d734f8d5905685347052c17927cd93dd0081 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealerGUI/pom.xml +++ b/CityDoctorParent/Extensions/CityDoctorHealerGUI/pom.xml @@ -7,7 +7,7 @@ de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 ../../pom.xml CityDoctorHealerGUI diff --git a/CityDoctorParent/pom.xml b/CityDoctorParent/pom.xml index 2b4bd20cb5d07870ee070e64f254a0f120770790..24549983e3dea94dd13b0e3ec7a9ffcde87f1921 100644 --- a/CityDoctorParent/pom.xml +++ b/CityDoctorParent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 de.hft.stuttgart CityDoctorParent - 3.18.2 + 3.18.3 pom CityDoctorParent