Commit aeb56f2e authored by Luna Riegel's avatar Luna Riegel
Browse files

Feat: Add feature collision error to ErrorVisitors

parent d900ea38
...@@ -7,6 +7,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError; ...@@ -7,6 +7,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError;
import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError; import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError;
import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError; import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError;
import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError; import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError;
import de.hft.stuttgart.citydoctor2.check.error.FeatureCollisionError;
import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError; import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError;
import de.hft.stuttgart.citydoctor2.check.error.NestedRingError; import de.hft.stuttgart.citydoctor2.check.error.NestedRingError;
import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError; import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError;
...@@ -212,4 +213,7 @@ public abstract class AbstractErrorVisitor implements ErrorVisitor { ...@@ -212,4 +213,7 @@ public abstract class AbstractErrorVisitor implements ErrorVisitor {
public void visit(XMLValidationError err) { public void visit(XMLValidationError err) {
} }
@Override
public void visit(FeatureCollisionError err){
}
} }
...@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError; ...@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError;
import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError; import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError;
import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError; import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError;
import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError; import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError;
import de.hft.stuttgart.citydoctor2.check.error.FeatureCollisionError;
import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError; import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError;
import de.hft.stuttgart.citydoctor2.check.error.NestedRingError; import de.hft.stuttgart.citydoctor2.check.error.NestedRingError;
import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError; import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError;
...@@ -153,4 +154,6 @@ public interface ErrorVisitor { ...@@ -153,4 +154,6 @@ public interface ErrorVisitor {
public void visit(XMLValidationError err); public void visit(XMLValidationError err);
public void visit(FeatureCollisionError err);
} }
...@@ -20,6 +20,8 @@ package de.hft.stuttgart.citydoctor2.check; ...@@ -20,6 +20,8 @@ package de.hft.stuttgart.citydoctor2.check;
import java.util.List; import java.util.List;
import de.hft.stuttgart.citydoctor2.check.error.FeatureCollisionError;
import org.apache.commons.lang3.NotImplementedException;
import org.xmlobjects.gml.model.measures.Angle; import org.xmlobjects.gml.model.measures.Angle;
import org.xmlobjects.gml.model.measures.Length; import org.xmlobjects.gml.model.measures.Length;
...@@ -410,4 +412,9 @@ public class QualityAdeErrorVisitor extends AbstractErrorVisitor { ...@@ -410,4 +412,9 @@ public class QualityAdeErrorVisitor extends AbstractErrorVisitor {
// not translated // not translated
} }
@Override
public void visit(FeatureCollisionError err){
throw new NotImplementedException();
//TODO: Implement handling of error here
}
} }
...@@ -9,6 +9,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError; ...@@ -9,6 +9,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError;
import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError; import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError;
import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError; import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError;
import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError; import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError;
import de.hft.stuttgart.citydoctor2.check.error.FeatureCollisionError;
import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError; import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError;
import de.hft.stuttgart.citydoctor2.check.error.NestedRingError; import de.hft.stuttgart.citydoctor2.check.error.NestedRingError;
import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError; import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError;
...@@ -43,6 +44,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; ...@@ -43,6 +44,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError;
import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError;
import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;
import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError; import de.hft.stuttgart.citydoctor2.check.error.XMLValidationError;
import org.apache.commons.lang3.NotImplementedException;
public class GlobalErrorVisitor implements ErrorVisitor { public class GlobalErrorVisitor implements ErrorVisitor {
...@@ -229,4 +231,8 @@ public class GlobalErrorVisitor implements ErrorVisitor { ...@@ -229,4 +231,8 @@ public class GlobalErrorVisitor implements ErrorVisitor {
+ " - " + err.getMessage()); + " - " + err.getMessage());
} }
@Override
public void visit(FeatureCollisionError err){
}
} }
...@@ -219,4 +219,6 @@ public class HighlightController { ...@@ -219,4 +219,6 @@ public class HighlightController {
highlightEdge(t.getP2(), t.getP3(), currentTriGeom.getMovedBy()); highlightEdge(t.getP2(), t.getP3(), currentTriGeom.getMovedBy());
highlightEdge(t.getP3(), t.getP1(), currentTriGeom.getMovedBy()); highlightEdge(t.getP3(), t.getP1(), currentTriGeom.getMovedBy());
} }
//TODO: Implement highlighting for FeatureCollisions and other Topological checks
} }
...@@ -11,6 +11,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeMissingError; ...@@ -11,6 +11,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeMissingError;
import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError; import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError;
import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError; import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError;
import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError; import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError;
import de.hft.stuttgart.citydoctor2.check.error.FeatureCollisionError;
import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError; import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError;
import de.hft.stuttgart.citydoctor2.check.error.NestedRingError; import de.hft.stuttgart.citydoctor2.check.error.NestedRingError;
import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError; import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError;
...@@ -51,6 +52,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; ...@@ -51,6 +52,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection; import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import org.apache.commons.lang3.NotImplementedException;
public class ListErrorVisitor implements ErrorVisitor { public class ListErrorVisitor implements ErrorVisitor {
...@@ -301,4 +303,10 @@ public class ListErrorVisitor implements ErrorVisitor { ...@@ -301,4 +303,10 @@ public class ListErrorVisitor implements ErrorVisitor {
public void visit(XMLValidationError err) { public void visit(XMLValidationError err) {
// nothing to display // nothing to display
} }
@Override
public void visit(FeatureCollisionError err){
throw new NotImplementedException();
//TODO: Implement handling of error here
}
} }
...@@ -11,6 +11,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError; ...@@ -11,6 +11,7 @@ import de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError;
import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError; import de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError;
import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError; import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError;
import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError; import de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError;
import de.hft.stuttgart.citydoctor2.check.error.FeatureCollisionError;
import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError; import de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError;
import de.hft.stuttgart.citydoctor2.check.error.NestedRingError; import de.hft.stuttgart.citydoctor2.check.error.NestedRingError;
import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError; import de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError;
...@@ -56,6 +57,7 @@ import de.hft.stuttgart.citydoctor2.utils.Localization; ...@@ -56,6 +57,7 @@ import de.hft.stuttgart.citydoctor2.utils.Localization;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection; import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection.IntersectionType; import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection.IntersectionType;
import javafx.scene.control.TreeItem; import javafx.scene.control.TreeItem;
import org.apache.commons.lang3.NotImplementedException;
public class ErrorItemVisitor extends AbstractErrorVisitor { public class ErrorItemVisitor extends AbstractErrorVisitor {
...@@ -458,4 +460,10 @@ public class ErrorItemVisitor extends AbstractErrorVisitor { ...@@ -458,4 +460,10 @@ public class ErrorItemVisitor extends AbstractErrorVisitor {
root.getChildren().add(polyItem); root.getChildren().add(polyItem);
} }
@Override
public void visit(FeatureCollisionError err){
throw new NotImplementedException();
//TODO: Implement handling of error here
// Will require new Error Node-type that is capable of rendering 2 CityObjects
}
} }
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