Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
ecce2b54
Commit
ecce2b54
authored
May 21, 2026
by
Luna Riegel
Browse files
Feat: Add visualization of Unfragmented error
parent
07d21d94
Changes
10
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractErrorVisitor.java
View file @
ecce2b54
...
@@ -38,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
...
@@ -38,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
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
;
...
@@ -182,7 +182,7 @@ public abstract class AbstractErrorVisitor implements ErrorVisitor {
...
@@ -182,7 +182,7 @@ public abstract class AbstractErrorVisitor implements ErrorVisitor {
}
}
@Override
@Override
public
void
visit
(
Surface
F
ragmentedError
err
)
{
public
void
visit
(
Surface
Unf
ragmentedError
err
)
{
}
}
@Override
@Override
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorVisitor.java
View file @
ecce2b54
...
@@ -56,7 +56,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
...
@@ -56,7 +56,7 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
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
;
...
@@ -136,7 +136,7 @@ public interface ErrorVisitor {
...
@@ -136,7 +136,7 @@ public interface ErrorVisitor {
public
void
visit
(
SchematronError
err
);
public
void
visit
(
SchematronError
err
);
public
void
visit
(
Surface
F
ragmentedError
err
);
public
void
visit
(
Surface
Unf
ragmentedError
err
);
public
void
visit
(
DegeneratedRingError
err
);
public
void
visit
(
DegeneratedRingError
err
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/HealingMethod.java
View file @
ecce2b54
...
@@ -48,7 +48,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError;
...
@@ -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.SchematronError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
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
;
...
@@ -189,7 +189,7 @@ public interface HealingMethod {
...
@@ -189,7 +189,7 @@ public interface HealingMethod {
return
false
;
return
false
;
}
}
default
boolean
visit
(
Surface
F
ragmentedError
err
,
ModificationListener
l
)
{
default
boolean
visit
(
Surface
Unf
ragmentedError
err
,
ModificationListener
l
)
{
return
false
;
return
false
;
}
}
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/QualityAdeErrorVisitor.java
View file @
ecce2b54
...
@@ -57,7 +57,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError;
...
@@ -57,7 +57,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError;
import
de.hft.stuttgart.citydoctor2.check.error.SchematronError
;
import
de.hft.stuttgart.citydoctor2.check.error.SchematronError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
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
;
...
@@ -369,7 +369,7 @@ public class QualityAdeErrorVisitor extends AbstractErrorVisitor {
...
@@ -369,7 +369,7 @@ public class QualityAdeErrorVisitor extends AbstractErrorVisitor {
}
}
@Override
@Override
public
void
visit
(
Surface
F
ragmentedError
err
)
{
public
void
visit
(
Surface
Unf
ragmentedError
err
)
{
// not translated
// not translated
}
}
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/Surface
F
ragmentedError.java
→
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/Surface
Unf
ragmentedError.java
View file @
ecce2b54
...
@@ -27,6 +27,7 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
...
@@ -27,6 +27,7 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
java.io.Serial
;
import
java.io.Serial
;
...
@@ -36,17 +37,19 @@ import java.io.Serial;
...
@@ -36,17 +37,19 @@ import java.io.Serial;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
Surface
F
ragmentedError
implements
CheckError
{
public
class
Surface
Unf
ragmentedError
implements
CheckError
{
@Serial
@Serial
private
static
final
long
serialVersionUID
=
3146243879393474196L
;
private
static
final
long
serialVersionUID
=
3146243879393474196L
;
private
final
BoundarySurface
bs
;
private
final
BoundarySurface
bs
;
private
final
double
angleDeviation
;
private
final
double
angleDeviation
;
private
final
Polygon
fragment
;
public
Surface
F
ragmentedError
(
BoundarySurface
bs
,
double
angleDerivation
)
{
public
Surface
Unf
ragmentedError
(
BoundarySurface
bs
,
Polygon
fragment
,
double
angleDerivation
)
{
this
.
bs
=
bs
;
this
.
bs
=
bs
;
this
.
angleDeviation
=
angleDerivation
;
this
.
angleDeviation
=
angleDerivation
;
this
.
fragment
=
fragment
;
}
}
@Override
@Override
...
@@ -62,6 +65,10 @@ public class SurfaceFragmentedError implements CheckError {
...
@@ -62,6 +65,10 @@ public class SurfaceFragmentedError implements CheckError {
return
bs
;
return
bs
;
}
}
public
Polygon
getFragment
()
{
return
fragment
;
}
@Override
@Override
public
boolean
accept
(
HealingMethod
method
,
ModificationListener
l
)
{
public
boolean
accept
(
HealingMethod
method
,
ModificationListener
l
)
{
return
method
.
visit
(
this
,
l
);
return
method
.
visit
(
this
,
l
);
...
...
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/util/UnfragmentedCheck.java
View file @
ecce2b54
...
@@ -24,11 +24,12 @@ import java.util.List;
...
@@ -24,11 +24,12 @@ import java.util.List;
import
de.hft.stuttgart.citydoctor2.check.Check
;
import
de.hft.stuttgart.citydoctor2.check.Check
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.math.Vector3d
;
import
de.hft.stuttgart.citydoctor2.math.Vector3d
;
import
de.hft.stuttgart.citydoctor2.utils.Pair
;
/**
/**
* Utility class for checking whether a boundary surface has different normals
* Utility class for checking whether a boundary surface has different normals
...
@@ -55,14 +56,15 @@ public class UnfragmentedCheck {
...
@@ -55,14 +56,15 @@ public class UnfragmentedCheck {
*/
*/
public
static
CheckResult
checkForFragmentedBoundarySurfaces
(
Check
c
,
BoundarySurface
bs
,
double
delta
)
{
public
static
CheckResult
checkForFragmentedBoundarySurfaces
(
Check
c
,
BoundarySurface
bs
,
double
delta
)
{
for
(
Geometry
geom
:
bs
.
getGeometries
())
{
for
(
Geometry
geom
:
bs
.
getGeometries
())
{
List
<
Vector3d
>
normals
=
new
ArrayList
<>();
List
<
Pair
<
Polygon
,
Vector3d
>
>
normals
=
new
ArrayList
<>();
for
(
Polygon
p
:
geom
.
getPolygons
())
{
for
(
Polygon
p
:
geom
.
getPolygons
())
{
normals
.
add
(
p
.
calculateNormalNormalized
());
normals
.
add
(
new
Pair
<>(
p
,
p
.
calculateNormalNormalized
())
)
;
}
}
double
x
=
0
;
double
x
=
0
;
double
y
=
0
;
double
y
=
0
;
double
z
=
0
;
double
z
=
0
;
for
(
Vector3d
n
:
normals
)
{
for
(
Pair
<
Polygon
,
Vector3d
>
pair
:
normals
)
{
Vector3d
n
=
pair
.
getValue1
();
x
+=
n
.
getX
();
x
+=
n
.
getX
();
y
+=
n
.
getY
();
y
+=
n
.
getY
();
z
+=
n
.
getZ
();
z
+=
n
.
getZ
();
...
@@ -71,11 +73,12 @@ public class UnfragmentedCheck {
...
@@ -71,11 +73,12 @@ public class UnfragmentedCheck {
y
=
y
/
normals
.
size
();
y
=
y
/
normals
.
size
();
z
=
z
/
normals
.
size
();
z
=
z
/
normals
.
size
();
Vector3d
averageNormal
=
new
Vector3d
(
x
,
y
,
z
);
Vector3d
averageNormal
=
new
Vector3d
(
x
,
y
,
z
);
for
(
Vector3d
n
:
normals
)
{
for
(
Pair
<
Polygon
,
Vector3d
>
pair
:
normals
)
{
Vector3d
n
=
pair
.
getValue1
();
double
dot
=
averageNormal
.
dot
(
n
);
double
dot
=
averageNormal
.
dot
(
n
);
double
acos
=
Math
.
acos
(
dot
);
double
acos
=
Math
.
acos
(
dot
);
if
(
acos
>
delta
)
{
if
(
acos
>
delta
)
{
Surface
F
ragmentedError
err
=
new
Surface
F
ragmentedError
(
bs
,
acos
);
Surface
Unf
ragmentedError
err
=
new
Surface
Unf
ragmentedError
(
bs
,
pair
.
getValue0
(),
acos
);
return
new
CheckResult
(
c
,
ResultStatus
.
ERROR
,
err
);
return
new
CheckResult
(
c
,
ResultStatus
.
ERROR
,
err
);
}
}
}
}
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/GlobalErrorVisitor.java
View file @
ecce2b54
...
@@ -40,11 +40,10 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
...
@@ -40,11 +40,10 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
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
{
...
@@ -188,7 +187,7 @@ public class GlobalErrorVisitor implements ErrorVisitor {
...
@@ -188,7 +187,7 @@ public class GlobalErrorVisitor implements ErrorVisitor {
}
}
@Override
@Override
public
void
visit
(
Surface
F
ragmentedError
err
)
{
public
void
visit
(
Surface
Unf
ragmentedError
err
)
{
}
}
@Override
@Override
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/HighlightController.java
View file @
ecce2b54
...
@@ -336,6 +336,17 @@ public class HighlightController {
...
@@ -336,6 +336,17 @@ public class HighlightController {
});
});
}
}
public
void
addObjectHighlight
(
CityObject
object
,
TriangulatedGeometry
triGeom
)
{
object
.
accept
(
new
CheckableUtilsVisitor
()
{
@Override
public
void
check
(
Geometry
geom
)
{
geom
.
getPolygons
().
forEach
(
p
->
{
addPolygonHighlight
(
p
,
triGeom
);
});
}
});
}
/**
/**
* Adds a polygon highlight to a {@link TriangulatedGeometry}.
* Adds a polygon highlight to a {@link TriangulatedGeometry}.
* @param p the polygon to highlight
* @param p the polygon to highlight
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/ListErrorVisitor.java
View file @
ecce2b54
...
@@ -42,11 +42,12 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
...
@@ -42,11 +42,12 @@ import de.hft.stuttgart.citydoctor2.check.error.SchematronError;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError
;
import
de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError
;
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
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
...
@@ -244,8 +245,10 @@ public class ListErrorVisitor implements ErrorVisitor {
...
@@ -244,8 +245,10 @@ public class ListErrorVisitor implements ErrorVisitor {
}
}
@Override
@Override
public
void
visit
(
SurfaceFragmentedError
err
)
{
public
void
visit
(
SurfaceUnfragmentedError
err
)
{
// nothing to display
controller
.
clearHighlights
();
controller
.
addObjectHighlight
(
err
.
getBoundarySurface
(),
geom
);
controller
.
addPolygonHighlight
(
err
.
getFragment
(),
geom
);
}
}
@Override
@Override
...
@@ -306,6 +309,7 @@ public class ListErrorVisitor implements ErrorVisitor {
...
@@ -306,6 +309,7 @@ public class ListErrorVisitor implements ErrorVisitor {
@Override
@Override
public
void
visit
(
FeatureCollisionError
err
){
public
void
visit
(
FeatureCollisionError
err
){
controller
.
highlightGeometryCollisions
(
err
.
getCollisionRecord
(),
geom
);
controller
.
highlightGeometryCollisions
(
err
.
getCollisionRecord
(),
geom
);
//TODO: Implement handling of error here
//TODO: Implement handling of error here
}
}
}
}
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ErrorItemVisitor.java
View file @
ecce2b54
...
@@ -38,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError;
...
@@ -38,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError;
import
de.hft.stuttgart.citydoctor2.check.error.SchematronError
;
import
de.hft.stuttgart.citydoctor2.check.error.SchematronError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
F
ragmentedError
;
import
de.hft.stuttgart.citydoctor2.check.error.Surface
Unf
ragmentedError
;
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.datastructure.ConcretePolygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon
;
...
@@ -49,7 +49,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -49,7 +49,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.EdgeNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.EdgeNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.GeometryNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.LinearRingNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.LinearRingNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.PolygonNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.PolygonNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.TextNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.node.TextNode
;
...
@@ -400,7 +399,10 @@ public class ErrorItemVisitor extends AbstractErrorVisitor {
...
@@ -400,7 +399,10 @@ public class ErrorItemVisitor extends AbstractErrorVisitor {
}
}
@Override
@Override
public
void
visit
(
SurfaceFragmentedError
err
)
{
public
void
visit
(
SurfaceUnfragmentedError
err
)
{
PolygonNode
polygonNode
=
new
PolygonNode
(
err
.
getFragment
(),
CheckStatus
.
NOT_CHECKED
);
TreeItem
<
Renderable
>
polygonItem
=
new
TreeItem
<>(
polygonNode
);
root
.
getChildren
().
add
(
polygonItem
);
TextNode
textNode
=
new
TextNode
(
TextNode
textNode
=
new
TextNode
(
Localization
.
getText
(
"ErrorItemVisitor.deviation"
)
+
": "
+
err
.
getAngleDeviation
());
Localization
.
getText
(
"ErrorItemVisitor.deviation"
)
+
": "
+
err
.
getAngleDeviation
());
TreeItem
<
Renderable
>
textItem
=
new
TreeItem
<>(
textNode
);
TreeItem
<
Renderable
>
textItem
=
new
TreeItem
<>(
textNode
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment