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
3f3c1884
Commit
3f3c1884
authored
Jun 24, 2022
by
Matthias Betz
Browse files
change to citygml4j 3.0.0 rc4
change to quality ade 0.1.4
parent
92f3e523
Pipeline
#6596
failed with stage
in 17 seconds
Changes
106
Pipelines
1
Show whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorCheckResult/pom.xml
View file @
3f3c1884
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
CityDoctorParent
</artifactId>
<artifactId>
CityDoctorParent
</artifactId>
<version>
3.1
0.3
</version>
<version>
3.1
1.0
</version>
</parent>
</parent>
<artifactId>
CityDoctorCheckResult
</artifactId>
<artifactId>
CityDoctorCheckResult
</artifactId>
...
...
CityDoctorParent/CityDoctorEdge/pom.xml
View file @
3f3c1884
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
CityDoctorParent
</artifactId>
<artifactId>
CityDoctorParent
</artifactId>
<version>
3.1
0.3
</version>
<version>
3.1
1.0
</version>
</parent>
</parent>
<artifactId>
CityDoctorEdge
</artifactId>
<artifactId>
CityDoctorEdge
</artifactId>
...
...
CityDoctorParent/CityDoctorModel/pom.xml
View file @
3f3c1884
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<parent>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
CityDoctorParent
</artifactId>
<artifactId>
CityDoctorParent
</artifactId>
<version>
3.1
0.3
</version>
<version>
3.1
1.0
</version>
</parent>
</parent>
<properties>
<properties>
...
@@ -16,16 +14,16 @@
...
@@ -16,16 +14,16 @@
<name>
CityDoctorModel
</name>
<name>
CityDoctorModel
</name>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
org.citygml4j
</groupId>
<artifactId>
citygml4j-
quality-ad
e
</artifactId>
<artifactId>
citygml4j-
cor
e
</artifactId>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.citygml4j
</groupId>
<groupId>
org.citygml4j
</groupId>
<artifactId>
citygml4j
</artifactId>
<artifactId>
citygml4j
-xml
</artifactId>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.citygml4j.ade
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
energy-ade-citygml4j
</artifactId>
<artifactId>
citygml4j-quality-ade
</artifactId>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
gov.nist.math
</groupId>
<groupId>
gov.nist.math
</groupId>
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckError.java
View file @
3f3c1884
...
@@ -19,10 +19,8 @@
...
@@ -19,10 +19,8 @@
package
de.hft.stuttgart.citydoctor2.check
;
package
de.hft.stuttgart.citydoctor2.check
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* Abstract container class for all errors. If your check creates a new error,
* Abstract container class for all errors. If your check creates a new error,
...
@@ -85,8 +83,4 @@ public interface CheckError extends Serializable {
...
@@ -85,8 +83,4 @@ public interface CheckError extends Serializable {
*/
*/
public
void
report
(
ErrorReport
report
);
public
void
report
(
ErrorReport
report
);
public
default
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
return
Optional
.
empty
();
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/QualityAdeErrorVisitor.java
0 → 100644
View file @
3f3c1884
/*-
* Copyright 2020 Beuth Hochschule für Technik Berlin, Hochschule für Technik Stuttgart
*
* This file is part of CityDoctor2.
*
* CityDoctor2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* CityDoctor2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with CityDoctor2. If not, see <https://www.gnu.org/licenses/>.
*/
package
de.hft.stuttgart.citydoctor2.check
;
import
java.util.List
;
import
org.xmlobjects.gml.model.measures.Angle
;
import
org.xmlobjects.gml.model.measures.Length
;
import
de.hft.stuttgart.citydoctor2.check.error.AllPolygonsWrongOrientationError
;
import
de.hft.stuttgart.citydoctor2.check.error.AttributeMissingError
;
import
de.hft.stuttgart.citydoctor2.check.error.AttributeValueWrongError
;
import
de.hft.stuttgart.citydoctor2.check.error.ConsecutivePointSameError
;
import
de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError
;
import
de.hft.stuttgart.citydoctor2.check.error.DependenciesNotMetError
;
import
de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError
;
import
de.hft.stuttgart.citydoctor2.check.error.NestedRingError
;
import
de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError
;
import
de.hft.stuttgart.citydoctor2.check.error.NonManifoldVertexError
;
import
de.hft.stuttgart.citydoctor2.check.error.NonPlanarPolygonDistancePlaneError
;
import
de.hft.stuttgart.citydoctor2.check.error.NonPlanarPolygonNormalsDeviation
;
import
de.hft.stuttgart.citydoctor2.check.error.NotCeilingError
;
import
de.hft.stuttgart.citydoctor2.check.error.NotFloorError
;
import
de.hft.stuttgart.citydoctor2.check.error.NotGroundError
;
import
de.hft.stuttgart.citydoctor2.check.error.NotWallError
;
import
de.hft.stuttgart.citydoctor2.check.error.NullAreaError
;
import
de.hft.stuttgart.citydoctor2.check.error.PointTouchesEdgeError
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonHoleOutsideError
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonInteriorDisconnectedError
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonIntersectingRingsError
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonSameOrientationError
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonWrongOrientationError
;
import
de.hft.stuttgart.citydoctor2.check.error.RingDuplicatePointError
;
import
de.hft.stuttgart.citydoctor2.check.error.RingEdgeIntersectionError
;
import
de.hft.stuttgart.citydoctor2.check.error.RingNotClosedError
;
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.TooFewPolygonsError
;
import
de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.utils.PolygonIntersection
;
import
de.hft.stuttgart.citydoctor2.utils.QualityADEUtils
;
import
de.hft.stuttgart.quality.model.enums.ResultType
;
import
de.hft.stuttgart.quality.model.enums.RingSelfIntType
;
import
de.hft.stuttgart.quality.model.properties.AbstractErrorProperty
;
import
de.hft.stuttgart.quality.model.properties.EdgeListProperty
;
import
de.hft.stuttgart.quality.model.properties.EdgeProperty
;
import
de.hft.stuttgart.quality.model.properties.PolygonIdListProperty
;
import
de.hft.stuttgart.quality.model.types.AllPolygonsOrientedWrongError
;
import
de.hft.stuttgart.quality.model.types.ConsecutivePointsSameError
;
import
de.hft.stuttgart.quality.model.types.EdgeList
;
import
de.hft.stuttgart.quality.model.types.HoleOutsideError
;
import
de.hft.stuttgart.quality.model.types.InnerRingsNestedError
;
import
de.hft.stuttgart.quality.model.types.InteriorDisconnectedError
;
import
de.hft.stuttgart.quality.model.types.IntersectingRingsError
;
import
de.hft.stuttgart.quality.model.types.MultipleComponentsError
;
import
de.hft.stuttgart.quality.model.types.OrientationRingsSameError
;
import
de.hft.stuttgart.quality.model.types.PlanarDistancePlaneError
;
import
de.hft.stuttgart.quality.model.types.PlanarNormalsDeviationError
;
import
de.hft.stuttgart.quality.model.types.PolygonIdList
;
import
de.hft.stuttgart.quality.model.types.RingSelfIntersectionError
;
import
de.hft.stuttgart.quality.model.types.SemanticAttributeMissingError
;
import
de.hft.stuttgart.quality.model.types.SemanticAttributeWrongValueError
;
import
de.hft.stuttgart.quality.model.types.SolidSelfIntersectionError
;
import
de.hft.stuttgart.quality.model.types.SolidTooFewPolygonsError
;
import
de.hft.stuttgart.quality.model.types.ValidationResult
;
public
class
QualityAdeErrorVisitor
implements
ErrorVisitor
{
private
ValidationResult
res
;
public
QualityAdeErrorVisitor
(
ValidationResult
res
)
{
this
.
res
=
res
;
}
@Override
public
void
visit
(
PolygonHoleOutsideError
cdErr
)
{
for
(
LinearRing
ringsOutside
:
cdErr
.
getHolesOutside
())
{
HoleOutsideError
err
=
new
HoleOutsideError
();
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
err
.
setLinearRingId
(
ringsOutside
.
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
}
@Override
public
void
visit
(
NonManifoldEdgeError
cdErr
)
{
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
NonManifoldEdgeError
err
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
NonManifoldEdgeError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
EdgeList
edgeList
=
new
EdgeList
();
err
.
setEdges
(
new
EdgeListProperty
(
edgeList
));
List
<
EdgeProperty
>
edges
=
edgeList
.
getEdges
();
for
(
Edge
e
:
cdErr
.
getEdges
())
{
edges
.
add
(
new
EdgeProperty
(
QualityADEUtils
.
convertEdge
(
e
)));
}
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
MultipleConnectedComponentsError
cdErr
)
{
MultipleComponentsError
err
=
new
MultipleComponentsError
();
for
(
List
<
Polygon
>
component
:
cdErr
.
getComponents
())
{
PolygonIdList
idList
=
new
PolygonIdList
();
err
.
getComponents
().
add
(
new
PolygonIdListProperty
(
idList
));
for
(
Polygon
p
:
component
)
{
idList
.
getPolygonIds
().
add
(
p
.
getGmlId
().
getGmlString
());
}
}
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
NestedRingError
cdErr
)
{
InnerRingsNestedError
err
=
new
InnerRingsNestedError
();
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
err
.
setLinearRingId1
(
cdErr
.
getInnerRing
().
getGmlId
().
getGmlString
());
err
.
setLinearRingId2
(
cdErr
.
getWithinRing
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
NonManifoldVertexError
cdErr
)
{
var
err
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
NonManifoldVertexError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
err
.
setVertex
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex
()));
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
PolygonWrongOrientationError
cdErr
)
{
var
err
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
PolygonWrongOrientationError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
EdgeList
edgeList
=
new
EdgeList
();
err
.
setEdges
(
new
EdgeListProperty
(
edgeList
));
List
<
EdgeProperty
>
edges
=
edgeList
.
getEdges
();
for
(
Edge
e
:
cdErr
.
getEdges
())
{
var
adeEdge
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Edge
();
adeEdge
.
setFrom
(
QualityADEUtils
.
convertVertex
(
e
.
getFrom
()));
adeEdge
.
setTo
(
QualityADEUtils
.
convertVertex
(
e
.
getTo
()));
edges
.
add
(
new
EdgeProperty
(
adeEdge
));
}
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
PolygonSameOrientationError
cdErr
)
{
var
err
=
new
OrientationRingsSameError
();
err
.
setLinearRing
(
cdErr
.
getInnerRing
().
getGmlId
().
getGmlString
());
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
SolidNotClosedError
cdErr
)
{
var
err
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
SolidNotClosedError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
EdgeList
edgeList
=
new
EdgeList
();
err
.
setEdges
(
new
EdgeListProperty
(
edgeList
));
List
<
EdgeProperty
>
edges
=
edgeList
.
getEdges
();
for
(
Edge
e
:
cdErr
.
getErrorEdges
())
{
var
adeEdge
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Edge
();
adeEdge
.
setFrom
(
QualityADEUtils
.
convertVertex
(
e
.
getFrom
()));
adeEdge
.
setTo
(
QualityADEUtils
.
convertVertex
(
e
.
getTo
()));
edges
.
add
(
new
EdgeProperty
(
adeEdge
));
}
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
DependenciesNotMetError
cdErr
)
{
// this error cannot be translated
res
.
setResultType
(
ResultType
.
ERROR
);
}
@Override
public
void
visit
(
UnknownCheckError
cdErr
)
{
// this error cannot be translated
res
.
setResultType
(
ResultType
.
ERROR
);
}
@Override
public
void
visit
(
RingNotClosedError
cdErr
)
{
var
err
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
RingNotClosedError
();
err
.
setLinearRingId
(
cdErr
.
getRing
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
ConsecutivePointSameError
cdErr
)
{
var
err
=
new
ConsecutivePointsSameError
();
err
.
setVertex1
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex1
()));
err
.
setVertex2
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex2
()));
err
.
setLinearRingId
(
cdErr
.
getRing
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
AllPolygonsWrongOrientationError
cdErr
)
{
var
err
=
new
AllPolygonsOrientedWrongError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
PolygonInteriorDisconnectedError
cdErr
)
{
var
err
=
new
InteriorDisconnectedError
();
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
NullAreaError
cdErr
)
{
// this error cannot be translated but should also be a self intersection
}
@Override
public
void
visit
(
RingTooFewPointsError
cdErr
)
{
var
err
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
RingTooFewPointsError
();
err
.
setLinearRingId
(
cdErr
.
getRing
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
NonPlanarPolygonNormalsDeviation
cdErr
)
{
var
err
=
new
PlanarNormalsDeviationError
();
err
.
setDeviation
(
new
Angle
(
cdErr
.
getDeviation
(),
"rad"
));
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
NonPlanarPolygonDistancePlaneError
cdErr
)
{
var
err
=
new
PlanarDistancePlaneError
();
err
.
setDistance
(
new
Length
(
cdErr
.
getDistance
(),
"m"
));
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
err
.
setVertex
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex
()));
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
PolygonIntersectingRingsError
cdErr
)
{
var
err
=
new
IntersectingRingsError
();
err
.
setLinearRingId1
(
cdErr
.
getIntersectingRings
().
getValue0
().
getGmlId
().
getGmlString
());
err
.
setLinearRingId2
(
cdErr
.
getIntersectingRings
().
getValue1
().
getGmlId
().
getGmlString
());
err
.
setPolygonId
(
cdErr
.
getPolygon
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
SolidSelfIntError
cdErr
)
{
for
(
PolygonIntersection
intersection
:
cdErr
.
getIntersections
())
{
var
err
=
new
SolidSelfIntersectionError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
err
.
setPolygonId1
(
intersection
.
getP1
().
getGmlId
().
getGmlString
());
err
.
setPolygonId2
(
intersection
.
getP2
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
}
@Override
public
void
visit
(
TooFewPolygonsError
cdErr
)
{
var
err
=
new
SolidTooFewPolygonsError
();
err
.
setGeometryId
(
cdErr
.
getGeometry
().
getGmlId
().
getGmlString
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
RingDuplicatePointError
cdErr
)
{
var
err
=
new
RingSelfIntersectionError
();
err
.
setType
(
RingSelfIntType
.
DUPLICATE_POINT
);
err
.
setLinearRingId
(
cdErr
.
getRing
().
getGmlId
().
getGmlString
());
err
.
setVertex1
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex1
()));
err
.
setVertex2
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex2
()));
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
RingEdgeIntersectionError
cdErr
)
{
var
err
=
new
RingSelfIntersectionError
();
err
.
setType
(
RingSelfIntType
.
EDGE_INTERSECTION
);
err
.
setLinearRingId
(
cdErr
.
getRing
().
getGmlId
().
getGmlString
());
var
e1
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Edge
();
e1
.
setFrom
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getEdge1
().
getFrom
()));
e1
.
setTo
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getEdge1
().
getTo
()));
err
.
setEdge1
(
new
EdgeProperty
(
e1
));
var
e2
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Edge
();
e2
.
setFrom
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getEdge2
().
getFrom
()));
e2
.
setTo
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getEdge2
().
getTo
()));
err
.
setEdge2
(
new
EdgeProperty
(
e2
));
err
.
setVertex1
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getIntersection
()));
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
PointTouchesEdgeError
cdErr
)
{
var
err
=
new
RingSelfIntersectionError
();
err
.
setType
(
RingSelfIntType
.
VERTEX_TOUCHES_EDGE
);
err
.
setLinearRingId
(
cdErr
.
getRing
().
getGmlId
().
getGmlString
());
var
e1
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Edge
();
e1
.
setFrom
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getEdge
().
getFrom
()));
e1
.
setTo
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getEdge
().
getTo
()));
err
.
setEdge1
(
new
EdgeProperty
(
e1
));
err
.
setVertex1
(
QualityADEUtils
.
convertVertex
(
cdErr
.
getVertex
()));
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
NotCeilingError
cdErr
)
{
// not translated
}
@Override
public
void
visit
(
NotFloorError
cdErr
)
{
// not translated
}
@Override
public
void
visit
(
NotWallError
cdErr
)
{
// not translated
}
@Override
public
void
visit
(
NotGroundError
cdErr
)
{
// not translated
}
@Override
public
void
visit
(
CheckError
err
)
{
// not translated
}
@Override
public
void
visit
(
SchematronError
err
)
{
// not translated
}
@Override
public
void
visit
(
SurfaceUnfragmentedError
err
)
{
// not translated
}
@Override
public
void
visit
(
DegeneratedRingError
cdErr
)
{
// not translated
}
@Override
public
void
visit
(
AttributeMissingError
cdErr
)
{
var
err
=
new
SemanticAttributeMissingError
();
err
.
setChildId
(
cdErr
.
getChildId
());
err
.
setAttributeName
(
cdErr
.
getNameOfAttribute
());
err
.
setGeneric
(
cdErr
.
isGeneric
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
@Override
public
void
visit
(
AttributeValueWrongError
cdErr
)
{
SemanticAttributeWrongValueError
err
=
new
SemanticAttributeWrongValueError
();
err
.
setChildId
(
cdErr
.
getChildId
());
err
.
setAttributeName
(
cdErr
.
getNameOfAttribute
());
err
.
setGeneric
(
cdErr
.
isGeneric
());
res
.
getErrors
().
add
(
new
AbstractErrorProperty
(
err
));
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/AllPolygonsWrongOrientationError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -29,8 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
...
@@ -29,8 +27,6 @@ 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.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.quality.model.AllPolygonsWrongOrientation
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* Error when all polygons are oriented wrong.
* Error when all polygons are oriented wrong.
...
@@ -86,12 +82,4 @@ public class AllPolygonsWrongOrientationError implements CheckError {
...
@@ -86,12 +82,4 @@ public class AllPolygonsWrongOrientationError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getGeometry
();
return
getGeometry
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
AllPolygonsWrongOrientation
err
=
new
AllPolygonsWrongOrientation
();
err
.
setGeometryId
(
geom
.
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/AttributeMissingError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -29,8 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
...
@@ -29,8 +27,6 @@ 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.CityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.quality.model.AttributeMissing
;
import
de.hft.stuttgart.quality.model.ValidationError
;
public
class
AttributeMissingError
implements
CheckError
{
public
class
AttributeMissingError
implements
CheckError
{
...
@@ -94,13 +90,4 @@ public class AttributeMissingError implements CheckError {
...
@@ -94,13 +90,4 @@ public class AttributeMissingError implements CheckError {
report
.
add
(
"generic"
,
""
+
generic
);
report
.
add
(
"generic"
,
""
+
generic
);
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
AttributeMissing
err
=
new
AttributeMissing
();
err
.
setChildId
(
childId
);
err
.
setAttributeName
(
nameOfAttribute
);
err
.
setGeneric
(
generic
);
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/AttributeValueWrongError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -29,8 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
...
@@ -29,8 +27,6 @@ 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.CityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.quality.model.AttributeWrongValue
;
import
de.hft.stuttgart.quality.model.ValidationError
;
public
class
AttributeValueWrongError
implements
CheckError
{
public
class
AttributeValueWrongError
implements
CheckError
{
...
@@ -93,14 +89,4 @@ public class AttributeValueWrongError implements CheckError {
...
@@ -93,14 +89,4 @@ public class AttributeValueWrongError implements CheckError {
report
.
add
(
"name"
,
nameOfAttribute
);
report
.
add
(
"name"
,
nameOfAttribute
);
report
.
add
(
"generic"
,
""
+
generic
);
report
.
add
(
"generic"
,
""
+
generic
);
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
AttributeWrongValue
err
=
new
AttributeWrongValue
();
err
.
setChildId
(
childId
);
err
.
setAttributeName
(
nameOfAttribute
);
err
.
setGeneric
(
generic
);
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/ConsecutivePointSameError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -30,9 +28,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -30,9 +28,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
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
;
import
de.hft.stuttgart.citydoctor2.utils.QualityADEUtils
;
import
de.hft.stuttgart.quality.model.ConsecutivePointsSame
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* When two points are too close to each other and are consecutive in a linear
* When two points are too close to each other and are consecutive in a linear
...
@@ -103,13 +98,4 @@ public class ConsecutivePointSameError implements CheckError {
...
@@ -103,13 +98,4 @@ public class ConsecutivePointSameError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getRing
();
return
getRing
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
ConsecutivePointsSame
err
=
new
ConsecutivePointsSame
();
err
.
setVertex1
(
QualityADEUtils
.
convertVertex
(
p1
));
err
.
setVertex2
(
QualityADEUtils
.
convertVertex
(
p2
));
err
.
setLinearRingId
(
lr
.
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/MultipleConnectedComponentsError.java
View file @
3f3c1884
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
...
@@ -31,9 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -31,9 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.quality.model.MultipleConnectedComponents
;
import
de.hft.stuttgart.quality.model.ValidationError
;
import
de.hft.stuttgart.quality.model.jaxb.Component
;
/**
/**
* When a geometry contains two or more not connected geometries, this error is
* When a geometry contains two or more not connected geometries, this error is
...
@@ -100,18 +96,4 @@ public class MultipleConnectedComponentsError implements CheckError {
...
@@ -100,18 +96,4 @@ public class MultipleConnectedComponentsError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getGeometry
();
return
getGeometry
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
MultipleConnectedComponents
err
=
new
MultipleConnectedComponents
();
for
(
List
<
Polygon
>
component
:
components
)
{
Component
c
=
new
Component
();
for
(
Polygon
p
:
component
)
{
c
.
getPolygonIds
().
add
(
p
.
getGmlId
().
getGmlString
());
}
err
.
getComponents
().
add
(
c
);
}
err
.
setGeometryId
(
geom
.
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NestedRingError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -30,8 +28,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -30,8 +28,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.quality.model.InnerRingsNested
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* If an inner ring is with in the boundaries of another, this error is created.
* If an inner ring is with in the boundaries of another, this error is created.
...
@@ -101,12 +97,4 @@ public class NestedRingError implements CheckError {
...
@@ -101,12 +97,4 @@ public class NestedRingError implements CheckError {
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
InnerRingsNested
err
=
new
InnerRingsNested
();
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
err
.
setLinearRingId1
(
innerRing
.
getGmlId
().
getGmlString
());
err
.
setLinearRingId2
(
withinRing
.
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonManifoldEdgeError.java
View file @
3f3c1884
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
...
@@ -31,9 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -31,9 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.utils.QualityADEUtils
;
import
de.hft.stuttgart.quality.model.NonManifoldEdge
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* If an edge is an edge in 3 or more polygons this error is created.
* If an edge is an edge in 3 or more polygons this error is created.
...
@@ -99,13 +95,4 @@ public class NonManifoldEdgeError implements CheckError {
...
@@ -99,13 +95,4 @@ public class NonManifoldEdgeError implements CheckError {
return
getGeometry
();
return
getGeometry
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
NonManifoldEdge
err
=
new
NonManifoldEdge
();
err
.
setGeometryId
(
geom
.
getGmlId
().
getGmlString
());
for
(
Edge
e
:
edges
)
{
err
.
getEdges
().
add
(
QualityADEUtils
.
convertEdge
(
e
));
}
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonManifoldVertexError.java
View file @
3f3c1884
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
...
@@ -32,9 +31,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
...
@@ -32,9 +31,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
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.utils.QualityADEUtils
;
import
de.hft.stuttgart.quality.model.NonManifoldVertex
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* A vertex which is contained in multiple polygons which are not connected via
* A vertex which is contained in multiple polygons which are not connected via
...
@@ -112,13 +108,4 @@ public class NonManifoldVertexError implements CheckError {
...
@@ -112,13 +108,4 @@ public class NonManifoldVertexError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getGeometry
();
return
getGeometry
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
NonManifoldVertex
err
=
new
NonManifoldVertex
();
err
.
setGeometryId
(
geom
.
getGmlId
().
getGmlString
());
err
.
setVertex
(
QualityADEUtils
.
convertVertex
(
v
));
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonPlanarPolygonDistancePlaneError.java
View file @
3f3c1884
...
@@ -18,10 +18,6 @@
...
@@ -18,10 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
org.citygml4j.model.gml.measures.Length
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -34,9 +30,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -34,9 +30,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.math.Plane
;
import
de.hft.stuttgart.citydoctor2.math.Plane
;
import
de.hft.stuttgart.citydoctor2.utils.Localization
;
import
de.hft.stuttgart.citydoctor2.utils.Localization
;
import
de.hft.stuttgart.citydoctor2.utils.QualityADEUtils
;
import
de.hft.stuttgart.quality.model.NonPlanarDistancePlane
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* Error object for planarity errors containing the polygon, the regression
* Error object for planarity errors containing the polygon, the regression
...
@@ -113,15 +106,4 @@ public class NonPlanarPolygonDistancePlaneError implements CheckError {
...
@@ -113,15 +106,4 @@ public class NonPlanarPolygonDistancePlaneError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
NonPlanarDistancePlane
err
=
new
NonPlanarDistancePlane
();
err
.
setVertex
(
QualityADEUtils
.
convertVertex
(
v
));
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
Length
l
=
new
Length
(
distance
);
l
.
setUom
(
"m"
);
err
.
setDistance
(
l
);
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonPlanarPolygonNormalsDeviation.java
View file @
3f3c1884
...
@@ -18,10 +18,6 @@
...
@@ -18,10 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
org.citygml4j.model.gml.measures.Angle
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -31,8 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
...
@@ -31,8 +27,6 @@ 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.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.quality.model.NonPlanarNormalsDeviation
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* When the normal of the triangles created from the triangulation of the
* When the normal of the triangles created from the triangulation of the
...
@@ -96,14 +90,4 @@ public class NonPlanarPolygonNormalsDeviation implements CheckError {
...
@@ -96,14 +90,4 @@ public class NonPlanarPolygonNormalsDeviation implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
NonPlanarNormalsDeviation
err
=
new
NonPlanarNormalsDeviation
();
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
Angle
a
=
new
Angle
(
deviation
);
a
.
setUom
(
"rad"
);
err
.
setDeviation
(
a
);
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PointTouchesEdgeError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -31,10 +29,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Edge;
...
@@ -31,10 +29,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Edge;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
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
;
import
de.hft.stuttgart.citydoctor2.utils.QualityADEUtils
;
import
de.hft.stuttgart.quality.model.RingSelfIntersection
;
import
de.hft.stuttgart.quality.model.ValidationError
;
import
de.hft.stuttgart.quality.model.jaxb.RingSelfIntType
;
/**
/**
* If a point of a linear ring touches an edge of the same ring it is considered
* If a point of a linear ring touches an edge of the same ring it is considered
...
@@ -106,15 +100,4 @@ public class PointTouchesEdgeError implements CheckError {
...
@@ -106,15 +100,4 @@ public class PointTouchesEdgeError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getRing
();
return
getRing
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
RingSelfIntersection
err
=
new
RingSelfIntersection
();
err
.
setType
(
RingSelfIntType
.
POINT_TOUCHES_EDGE
);
err
.
setLinearRingId
(
lr
.
getGmlId
().
getGmlString
());
err
.
setEdge1
(
QualityADEUtils
.
convertEdge
(
e
));
err
.
setVertex1
(
QualityADEUtils
.
convertVertex
(
v
));
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PolygonHoleOutsideError.java
View file @
3f3c1884
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
...
@@ -31,8 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -31,8 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.quality.model.HoleOutside
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* When an interior ring is completely outside the exterior ring this error is
* When an interior ring is completely outside the exterior ring this error is
...
@@ -98,12 +95,4 @@ public class PolygonHoleOutsideError implements CheckError {
...
@@ -98,12 +95,4 @@ public class PolygonHoleOutsideError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
HoleOutside
err
=
new
HoleOutside
();
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
err
.
setLinearRingId
(
holesOutside
.
get
(
0
).
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PolygonInteriorDisconnectedError.java
View file @
3f3c1884
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
...
@@ -31,8 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -31,8 +30,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.quality.model.InteriorDisconnected
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* If the holes in a polygon split the interior area into two distinct areas
* If the holes in a polygon split the interior area into two distinct areas
...
@@ -99,11 +96,4 @@ public class PolygonInteriorDisconnectedError implements CheckError {
...
@@ -99,11 +96,4 @@ public class PolygonInteriorDisconnectedError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
InteriorDisconnected
err
=
new
InteriorDisconnected
();
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PolygonIntersectingRingsError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -31,8 +29,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
...
@@ -31,8 +29,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.utils.SerializablePair
;
import
de.hft.stuttgart.citydoctor2.utils.SerializablePair
;
import
de.hft.stuttgart.quality.model.IntersectingRings
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* If the exterior ring and interior rings are intersecting each other, it
* If the exterior ring and interior rings are intersecting each other, it
...
@@ -97,13 +93,4 @@ public class PolygonIntersectingRingsError implements CheckError {
...
@@ -97,13 +93,4 @@ public class PolygonIntersectingRingsError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
IntersectingRings
err
=
new
IntersectingRings
();
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
err
.
setLinearRingId1
(
intersectingRings
.
getValue0
().
getGmlId
().
getGmlString
());
err
.
setLinearRingId2
(
intersectingRings
.
getValue1
().
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PolygonSameOrientationError.java
View file @
3f3c1884
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check.error
;
package
de.hft.stuttgart.citydoctor2.check.error
;
import
java.util.Optional
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
import
de.hft.stuttgart.citydoctor2.check.ErrorReport
;
...
@@ -30,8 +28,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -30,8 +28,6 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.quality.model.OrientationRingsSame
;
import
de.hft.stuttgart.quality.model.ValidationError
;
/**
/**
* If the interior rings have the same orientation as the exterior ring, this
* If the interior rings have the same orientation as the exterior ring, this
...
@@ -95,12 +91,4 @@ public class PolygonSameOrientationError implements CheckError {
...
@@ -95,12 +91,4 @@ public class PolygonSameOrientationError implements CheckError {
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
()
{
return
getPolygon
();
return
getPolygon
();
}
}
@Override
public
Optional
<
ValidationError
>
convertToQualityAdeDatastructure
()
{
OrientationRingsSame
err
=
new
OrientationRingsSame
();
err
.
setPolygonId
(
p
.
getGmlId
().
getGmlString
());
err
.
setLinearRingId
(
innerRing
.
getGmlId
().
getGmlString
());
return
Optional
.
of
(
err
);
}
}
}
Prev
1
2
3
4
5
6
Next
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