Commit 97a65114 authored by Riegel's avatar Riegel
Browse files

Merge branch 'dev' into 'master'

Version 3.15.0

See merge request !8
parents 99c8f6a8 5950ea5f
Pipeline #10106 passed with stage
in 3 minutes and 15 seconds
......@@ -29,6 +29,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import java.io.Serial;
/**
* If a boundary surface is not a ground surface even though it was defined as
* one.
......@@ -38,10 +40,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
*/
public class NotGroundError implements CheckError {
@Serial
private static final long serialVersionUID = 8793224454858861221L;
private BoundarySurface surface;
private Polygon p;
private final BoundarySurface surface;
private final Polygon p;
public NotGroundError(BoundarySurface bs, Polygon p) {
surface = bs;
......
......@@ -30,6 +30,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.math.Vector3d;
import java.io.Serial;
/**
* if a boundary surface is not a wall even though it was defined as one.
*
......@@ -38,11 +40,12 @@ import de.hft.stuttgart.citydoctor2.math.Vector3d;
*/
public class NotWallError implements CheckError {
@Serial
private static final long serialVersionUID = 406429139625558232L;
private BoundarySurface surface;
private Polygon p;
private Vector3d normal;
private final BoundarySurface surface;
private final Polygon p;
private final Vector3d normal;
public NotWallError(BoundarySurface bs, Polygon p, Vector3d normal) {
surface = bs;
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import java.io.Serial;
/**
* When a linear ring has a near zero area this error is created.
*
......@@ -36,9 +38,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
*/
public class NullAreaError implements CheckError {
@Serial
private static final long serialVersionUID = 1358910429039553687L;
private LinearRing lr;
private final LinearRing lr;
public NullAreaError(LinearRing lr) {
this.lr = lr;
......
......@@ -30,6 +30,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import java.io.Serial;
/**
* If a point of a linear ring touches an edge of the same ring it is considered
* self intersecting and this error object is created.
......@@ -39,11 +41,12 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
*/
public class PointTouchesEdgeError implements CheckError {
@Serial
private static final long serialVersionUID = 3277456707271748954L;
private LinearRing lr;
private Edge e;
private Vertex v;
private final LinearRing lr;
private final Edge e;
private final Vertex v;
public PointTouchesEdgeError(LinearRing lr, Edge e, Vertex v) {
this.lr = lr;
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check.error;
import java.io.Serial;
import java.util.List;
import de.hft.stuttgart.citydoctor2.check.CheckError;
......@@ -40,10 +41,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
*/
public class PolygonHoleOutsideError implements CheckError {
@Serial
private static final long serialVersionUID = -4522153084655775231L;
private List<LinearRing> holesOutside;
private Polygon p;
private final List<LinearRing> holesOutside;
private final Polygon p;
public PolygonHoleOutsideError(Polygon p, List<LinearRing> holesOutside) {
this.p = p;
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check.error;
import java.io.Serial;
import java.util.List;
import de.hft.stuttgart.citydoctor2.check.CheckError;
......@@ -40,10 +41,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
*/
public class PolygonInteriorDisconnectedError implements CheckError {
@Serial
private static final long serialVersionUID = 511849016699842395L;
private Polygon p;
private List<LinearRing> connectedRings;
private final Polygon p;
private final List<LinearRing> connectedRings;
public PolygonInteriorDisconnectedError(Polygon p, List<LinearRing> connectedRings) {
this.p = p;
......
......@@ -30,6 +30,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.utils.SerializablePair;
import java.io.Serial;
/**
* If the exterior ring and interior rings are intersecting each other, it
* results in a polygon self intersection and this error is created.
......@@ -39,10 +41,11 @@ import de.hft.stuttgart.citydoctor2.utils.SerializablePair;
*/
public class PolygonIntersectingRingsError implements CheckError {
@Serial
private static final long serialVersionUID = -7043521697085991901L;
private Polygon p;
private SerializablePair<LinearRing, LinearRing> intersectingRings;
private final Polygon p;
private final SerializablePair<LinearRing, LinearRing> intersectingRings;
public PolygonIntersectingRingsError(Polygon p, SerializablePair<LinearRing, LinearRing> intersectingRings) {
this.p = p;
......
......@@ -29,6 +29,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import java.io.Serial;
/**
* If the interior rings have the same orientation as the exterior ring, this
* error is created.
......@@ -38,10 +40,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
*/
public class PolygonSameOrientationError implements CheckError {
@Serial
private static final long serialVersionUID = -6192337889977667459L;
private Polygon p;
private LinearRing innerRing;
private final Polygon p;
private final LinearRing innerRing;
public PolygonSameOrientationError(Polygon p, LinearRing inner) {
this.p = p;
......
......@@ -10,11 +10,14 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import java.io.Serial;
public class PolygonWithoutSurfaceError implements CheckError {
@Serial
private static final long serialVersionUID = 2676579487514583105L;
private Polygon p;
private final Polygon p;
public PolygonWithoutSurfaceError(Polygon polygon) {
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check.error;
import java.io.Serial;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
......@@ -44,10 +45,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
*/
public class PolygonWrongOrientationError implements CheckError {
@Serial
private static final long serialVersionUID = -3006643655816847097L;
private List<Edge> edges;
private Geometry g;
private final List<Edge> edges;
private final Geometry g;
public PolygonWrongOrientationError(Geometry g, List<Edge> edges) {
this.edges = edges;
......
......@@ -29,6 +29,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import java.io.Serial;
/**
* When a point is repeated in a linear ring, but is not consecutive. This
* results in a self intersection of the ring and this error object is created.
......@@ -38,11 +40,12 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
*/
public class RingDuplicatePointError implements CheckError {
@Serial
private static final long serialVersionUID = 7208982075173209953L;
private LinearRing r;
private Vertex v1;
private Vertex v2;
private final LinearRing r;
private final Vertex v1;
private final Vertex v2;
public RingDuplicatePointError(LinearRing r, Vertex v1, Vertex v2) {
this.r = r;
......
......@@ -30,6 +30,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.math.Vector3d;
import java.io.Serial;
/**
* When two edges of the same linear ring are intersecting with each other this
* error object is created.
......@@ -39,12 +41,13 @@ import de.hft.stuttgart.citydoctor2.math.Vector3d;
*/
public class RingEdgeIntersectionError implements CheckError {
@Serial
private static final long serialVersionUID = 4923311259469198172L;
private Edge e1;
private Edge e2;
private Vector3d intersection;
private LinearRing lr;
private final Edge e1;
private final Edge e2;
private final Vector3d intersection;
private final LinearRing lr;
public RingEdgeIntersectionError(LinearRing lr, Edge e1, Edge e2, Vector3d intersection) {
if (e1 == null || e2 == null || lr == null || intersection == null) {
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import java.io.Serial;
/**
* If the first and last point of a linear ring are not the same, this error is
* created.
......@@ -37,9 +39,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
*/
public class RingNotClosedError implements CheckError {
@Serial
private static final long serialVersionUID = 2554099996830579201L;
private LinearRing ring;
private final LinearRing ring;
public RingNotClosedError(LinearRing ring) {
this.ring = ring;
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import java.io.Serial;
/**
* If a linear ring has less than 4 distinct points, it is has too few points.
*
......@@ -36,9 +38,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
*/
public class RingTooFewPointsError implements CheckError {
@Serial
private static final long serialVersionUID = 7207518573842743261L;
private LinearRing lr;
private final LinearRing lr;
public RingTooFewPointsError(LinearRing lr) {
this.lr = lr;
......
......@@ -27,14 +27,17 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
public class SchematronError implements CheckError {
@Serial
private static final long serialVersionUID = -2964084500589868928L;
private String errorId;
private String gmlId;
private String childId;
private String nameOfAttribute;
private final String errorId;
private final String gmlId;
private final String childId;
private final String nameOfAttribute;
public SchematronError(String errorId, String gmlId, String childId, String nameOfAttribute) {
this.errorId = errorId;
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check.error;
import java.io.Serial;
import java.util.List;
import de.hft.stuttgart.citydoctor2.check.CheckError;
......@@ -40,10 +41,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
*/
public class SolidNotClosedError implements CheckError {
@Serial
private static final long serialVersionUID = 8256385219885788891L;
private List<Edge> errorEdges;
private Geometry g;
private final List<Edge> errorEdges;
private final Geometry g;
public SolidNotClosedError(Geometry g, List<Edge> errorEdges) {
this.errorEdges = errorEdges;
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check.error;
import java.io.Serial;
import java.util.List;
import de.hft.stuttgart.citydoctor2.check.CheckError;
......@@ -39,11 +40,12 @@ import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
*/
public class SolidSelfIntError implements CheckError {
@Serial
private static final long serialVersionUID = -4479936555545861422L;
private Geometry g;
private final Geometry g;
private List<PolygonIntersection> intersections;
private final List<PolygonIntersection> intersections;
public SolidSelfIntError(Geometry g, List<PolygonIntersection> intersections) {
this.g = g;
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
/**
* Container object for an unfragmented error
*
......@@ -36,10 +38,11 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
*/
public class SurfaceUnfragmentedError implements CheckError {
@Serial
private static final long serialVersionUID = 3146243879393474196L;
private BoundarySurface bs;
private double angleDeviation;
private final BoundarySurface bs;
private final double angleDeviation;
public SurfaceUnfragmentedError(BoundarySurface bs, double angleDerivation) {
this.bs = bs;
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
/**
* When a geometry has less than 4 polygons, it cannot form a valid solid.
*
......@@ -36,9 +38,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
*/
public class TooFewPolygonsError implements CheckError {
@Serial
private static final long serialVersionUID = 5800732409355221678L;
private Geometry g;
private final Geometry g;
public TooFewPolygonsError(Geometry g) {
this.g = g;
......
......@@ -30,6 +30,8 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
/**
* This error is created when an unexpected exception is thrown by the code.
*
......@@ -38,11 +40,12 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
*/
public class UnknownCheckError implements CheckError {
@Serial
private static final long serialVersionUID = -6554097632341055596L;
private Checkable c;
private Exception e;
private CheckId checkId;
private final Checkable c;
private final Exception e;
private final CheckId checkId;
public UnknownCheckError(Checkable c, Exception e, Check check) {
this.c = c;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment