Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
a0ff9ed7
Commit
a0ff9ed7
authored
Nov 30, 2020
by
Matthias Betz
Browse files
Added check plugin system
parent
0a7d6299
Pipeline
#1380
passed with stage
in 2 minutes and 13 seconds
Changes
71
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/CheckContainer.java
View file @
a0ff9ed7
...
...
@@ -66,7 +66,6 @@ public class CheckContainer extends Check {
private
final
Check
check
;
public
CheckContainer
(
Check
check
)
{
super
(
null
);
this
.
check
=
check
;
}
...
...
@@ -81,7 +80,7 @@ public class CheckContainer extends Check {
}
@Override
public
List
<
Class
<
?
extends
Checkable
>>
getApplicableToClasses
()
{
public
List
<
Class
<
Checkable
>>
getApplicableToClasses
()
{
return
check
.
getApplicableToClasses
();
}
...
...
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/Checks.java
View file @
a0ff9ed7
...
...
@@ -19,29 +19,30 @@
package
de.hft.stuttgart.citydoctor2.checks
;
import
java.util.ArrayList
;
import
java.util.
Enum
Map
;
import
java.util.
Hash
Map
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.ServiceLoader
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
de.hft.stuttgart.citydoctor2.check.Check
;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.RingNotClosedCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.MultipleConnectedComponentCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.DuplicatePointsCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.PolygonWrongOrientationCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.FaceOutCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.HoleOutsideCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.InteriorDisconnectedCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.ManifoldVertexCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.MultipleConnectedComponentCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.NestedRingsCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.NumPointsCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.NonManifoldEdgeCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.NumPointsCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.PlanarCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.PolygonSameOrientationCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.PolygonIntersectingRingsCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.PolygonSameOrientationCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.PolygonWrongOrientationCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.RingNotClosedCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.RingSelfIntCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.SolidNotClosedCheck
;
import
de.hft.stuttgart.citydoctor2.checks.geometry.SolidSelfIntCheck
;
...
...
@@ -71,7 +72,7 @@ public class Checks {
static
{
checkPrototypes
=
new
ArrayList
<>();
prototypeMap
=
new
Enum
Map
<>(
CheckId
.
class
);
prototypeMap
=
new
Hash
Map
<>();
// add new checks here
publish
(
new
NumPointsCheck
());
...
...
@@ -99,6 +100,12 @@ public class Checks {
publish
(
new
IsCeilingCheck
());
publish
(
new
IsGroundCheck
());
publish
(
new
RoofSurfaceUnfragmentedCheck
());
// load checks from service loader
ServiceLoader
<
Check
>
checkLoader
=
ServiceLoader
.
load
(
Check
.
class
);
for
(
Check
c
:
checkLoader
)
{
publish
(
c
);
}
}
/**
...
...
@@ -106,7 +113,7 @@ public class Checks {
* this container. Access the checks with {@link Checks#getCheckForId(CheckId)}.
*/
public
Checks
()
{
checkMap
=
new
Enum
Map
<>(
CheckId
.
class
);
checkMap
=
new
Hash
Map
<>();
for
(
CheckPrototype
proto
:
checkPrototypes
)
{
Check
check
=
proto
.
createCheck
();
...
...
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/DuplicatePointsCheck.java
View file @
a0ff9ed7
...
...
@@ -52,7 +52,6 @@ public class DuplicatePointsCheck extends Check {
private
static
final
String
EPSILON_NAME
=
"minVertexDistance"
;
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -62,8 +61,6 @@ public class DuplicatePointsCheck extends Check {
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
LinearRing
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
private
double
epsilon
=
0.0001
;
...
...
@@ -78,20 +75,11 @@ public class DuplicatePointsCheck extends Check {
}
}
public
DuplicatePointsCheck
()
{
super
(
CheckId
.
C_GE_R_DUPLICATE_POINT
);
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
void
check
(
LinearRing
lr
)
{
List
<
Vertex
>
pointList
=
lr
.
getVertices
();
...
...
@@ -137,4 +125,9 @@ public class DuplicatePointsCheck extends Check {
return
new
DuplicatePointsCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_R_DUPLICATE_POINT
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/FaceOutCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.AllPolygonsWrongOrientationError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
...
...
@@ -46,7 +45,6 @@ import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon;
public
class
FaceOutCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -65,14 +63,6 @@ public class FaceOutCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_S_SELF_INTERSECTION
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
FaceOutCheck
()
{
super
(
CheckId
.
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION
);
}
@Override
...
...
@@ -182,11 +172,6 @@ public class FaceOutCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -197,4 +182,9 @@ public class FaceOutCheck extends Check {
return
new
FaceOutCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/HoleOutsideCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonHoleOutsideError
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
...
...
@@ -37,7 +36,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
public
class
HoleOutsideCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -48,16 +46,8 @@ public class HoleOutsideCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_P_NON_PLANAR
);
deps
.
add
(
CheckId
.
C_GE_P_ORIENTATION_RINGS_SAME
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Polygon
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
HoleOutsideCheck
()
{
super
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
);
}
@Override
public
void
check
(
Polygon
p
)
{
List
<
LinearRing
>
holesOutside
=
new
ArrayList
<>();
...
...
@@ -85,11 +75,6 @@ public class HoleOutsideCheck extends Check {
}
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -104,4 +89,9 @@ public class HoleOutsideCheck extends Check {
public
Check
createNewInstance
()
{
return
new
HoleOutsideCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_P_HOLE_OUTSIDE
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/InteriorDisconnectedCheck.java
View file @
a0ff9ed7
...
...
@@ -29,7 +29,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.DefaultParameter
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.Unit
;
...
...
@@ -46,7 +45,6 @@ public class InteriorDisconnectedCheck extends Check {
private
static
final
String
EPSILON_NAME
=
"Epsilon"
;
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
private
static
final
List
<
DefaultParameter
>
defaultParameters
;
static
{
...
...
@@ -58,10 +56,6 @@ public class InteriorDisconnectedCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_P_NON_PLANAR
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Polygon
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
ArrayList
<
DefaultParameter
>
defaultParameter
=
new
ArrayList
<>();
defaultParameter
.
add
(
new
DefaultParameter
(
EPSILON_NAME
,
"0.0001"
,
Unit
.
METER
));
defaultParameters
=
Collections
.
unmodifiableList
(
defaultParameter
);
...
...
@@ -79,10 +73,6 @@ public class InteriorDisconnectedCheck extends Check {
}
}
public
InteriorDisconnectedCheck
()
{
super
(
CheckId
.
C_GE_P_INTERIOR_DISCONNECTED
);
}
@Override
public
void
check
(
Polygon
p
)
{
if
(
p
.
getInnerRings
().
isEmpty
())
{
...
...
@@ -175,11 +165,6 @@ public class InteriorDisconnectedCheck extends Check {
return
defaultParameters
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -194,4 +179,9 @@ public class InteriorDisconnectedCheck extends Check {
public
Check
createNewInstance
()
{
return
new
InteriorDisconnectedCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_P_INTERIOR_DISCONNECTED
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/ManifoldVertexCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.NonManifoldVertexError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
...
...
@@ -47,7 +46,6 @@ import de.hft.stuttgart.citydoctor2.math.graph.PolygonGraph;
public
class
ManifoldVertexCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -64,15 +62,8 @@ public class ManifoldVertexCheck extends Check {
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
ManifoldVertexCheck
()
{
super
(
CheckId
.
C_GE_S_NON_MANIFOLD_VERTEX
);
}
@Override
public
void
check
(
Geometry
geom
)
{
// only for solids
...
...
@@ -102,11 +93,6 @@ public class ManifoldVertexCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -116,4 +102,9 @@ public class ManifoldVertexCheck extends Check {
public
Check
createNewInstance
()
{
return
new
ManifoldVertexCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_NON_MANIFOLD_VERTEX
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/MultipleConnectedComponentCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.MultipleConnectedComponentsError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
...
...
@@ -45,7 +44,6 @@ import de.hft.stuttgart.citydoctor2.math.graph.PolygonGraph;
public
class
MultipleConnectedComponentCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -59,16 +57,8 @@ public class MultipleConnectedComponentCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_S_TOO_FEW_POLYGONS
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
MultipleConnectedComponentCheck
()
{
super
(
CheckId
.
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS
);
}
@Override
public
void
check
(
Geometry
g
)
{
// only for solids
...
...
@@ -97,11 +87,6 @@ public class MultipleConnectedComponentCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -111,4 +96,9 @@ public class MultipleConnectedComponentCheck extends Check {
public
Check
createNewInstance
()
{
return
new
MultipleConnectedComponentCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/NestedRingsCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.NestedRingError
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
...
...
@@ -37,7 +36,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
public
class
NestedRingsCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -48,14 +46,6 @@ public class NestedRingsCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_P_NON_PLANAR
);
deps
.
add
(
CheckId
.
C_GE_P_ORIENTATION_RINGS_SAME
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Polygon
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
NestedRingsCheck
()
{
super
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
);
}
@Override
...
...
@@ -91,11 +81,6 @@ public class NestedRingsCheck extends Check {
return
isInside
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -111,4 +96,9 @@ public class NestedRingsCheck extends Check {
return
new
NestedRingsCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_P_INNER_RINGS_NESTED
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/NonManifoldEdgeCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.NonManifoldEdgeError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
...
...
@@ -44,7 +43,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
public
class
NonManifoldEdgeCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -57,14 +55,6 @@ public class NonManifoldEdgeCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_P_NON_PLANAR
);
deps
.
add
(
CheckId
.
C_GE_S_TOO_FEW_POLYGONS
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
NonManifoldEdgeCheck
()
{
super
(
CheckId
.
C_GE_S_NON_MANIFOLD_EDGE
);
}
@Override
...
...
@@ -96,11 +86,6 @@ public class NonManifoldEdgeCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -110,4 +95,9 @@ public class NonManifoldEdgeCheck extends Check {
public
Check
createNewInstance
()
{
return
new
NonManifoldEdgeCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_NON_MANIFOLD_EDGE
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/NullAreaCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.Check;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.DefaultParameter
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.Unit
;
...
...
@@ -46,7 +45,6 @@ public class NullAreaCheck extends Check {
private
static
final
String
DELTA_NAME
=
"delta"
;
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
private
static
final
List
<
DefaultParameter
>
defaultParameters
;
static
{
...
...
@@ -55,10 +53,6 @@ public class NullAreaCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_R_NOT_CLOSED
);
deps
.
add
(
CheckId
.
C_GE_R_DUPLICATE_POINT
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
LinearRing
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
ArrayList
<
DefaultParameter
>
defParameters
=
new
ArrayList
<>();
defParameters
.
add
(
new
DefaultParameter
(
DELTA_NAME
,
"0.0001"
,
Unit
.
SQUARE_METER
));
...
...
@@ -67,11 +61,6 @@ public class NullAreaCheck extends Check {
private
double
delta
=
0.0001
;
public
NullAreaCheck
()
{
super
(
CheckId
.
NULL_AREA
);
}
@Override
public
void
init
(
Map
<
String
,
String
>
parameters
,
ParserConfiguration
config
)
{
if
(
parameters
.
containsKey
(
DELTA_NAME
))
{
...
...
@@ -123,12 +112,6 @@ public class NullAreaCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -140,4 +123,9 @@ public class NullAreaCheck extends Check {
return
new
NullAreaCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_R_NULL_AREA
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/NumPointsCheck.java
View file @
a0ff9ed7
...
...
@@ -29,7 +29,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.RingTooFewPointsError
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
...
...
@@ -47,23 +46,14 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
*/
public
class
NumPointsCheck
extends
Check
{
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
private
static
final
List
<
CheckId
>
dependencies
;
static
{
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
LinearRing
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
ArrayList
<
CheckId
>
temp
=
new
ArrayList
<>();
temp
.
add
(
CheckId
.
C_GE_R_NOT_CLOSED
);
dependencies
=
Collections
.
unmodifiableList
(
temp
);
}
public
NumPointsCheck
()
{
super
(
CheckId
.
C_GE_R_TOO_FEW_POINTS
);
}
/**
* checks if every linear ring has at least 3 distinct points
*/
...
...
@@ -101,12 +91,6 @@ public class NumPointsCheck extends Check {
lr
.
addCheckResult
(
cr
);
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -121,4 +105,9 @@ public class NumPointsCheck extends Check {
public
Check
createNewInstance
()
{
return
new
NumPointsCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_R_TOO_FEW_POINTS
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/PlanarCheck.java
View file @
a0ff9ed7
...
...
@@ -29,7 +29,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.DefaultParameter
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.Unit
;
...
...
@@ -63,7 +62,6 @@ public class PlanarCheck extends Check {
private
static
final
String
TINY_EDGE_TOLERANCE
=
"tinyEdgeTolerance"
;
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
private
static
final
List
<
DefaultParameter
>
defaultParameters
;
static
{
...
...
@@ -74,10 +72,6 @@ public class PlanarCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_R_SELF_INTERSECTION
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>(
1
);
classes
.
add
(
Polygon
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
ArrayList
<
DefaultParameter
>
defParameters
=
new
ArrayList
<>(
3
);
defParameters
.
add
(
new
DefaultParameter
(
TYPE
,
DISTANCE
,
Unit
.
NONE
));
defParameters
.
add
(
new
DefaultParameter
(
DISTANCE_TOLERANCE
,
"0.01"
,
Unit
.
METER
));
...
...
@@ -93,10 +87,6 @@ public class PlanarCheck extends Check {
private
double
delta
=
0.01
;
private
double
tinyEdgeTolerance
=
0.00000
;
public
PlanarCheck
()
{
super
(
CheckId
.
C_GE_P_NON_PLANAR
);
}
@Override
public
void
init
(
Map
<
String
,
String
>
parameters
,
ParserConfiguration
config
)
{
if
(
parameters
.
containsKey
(
TYPE
))
{
...
...
@@ -253,11 +243,6 @@ public class PlanarCheck extends Check {
return
false
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -272,4 +257,9 @@ public class PlanarCheck extends Check {
public
Check
createNewInstance
()
{
return
new
PlanarCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_P_NON_PLANAR
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/PolygonIntersectingRingsCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonIntersectingRingsError
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
...
...
@@ -43,7 +42,6 @@ public class PolygonIntersectingRingsCheck extends Check {
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -55,16 +53,8 @@ public class PolygonIntersectingRingsCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_P_HOLE_OUTSIDE
);
deps
.
add
(
CheckId
.
C_GE_P_INNER_RINGS_NESTED
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Polygon
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
PolygonIntersectingRingsCheck
()
{
super
(
CheckId
.
C_GE_P_INTERSECTING_RINGS
);
}
@Override
public
void
check
(
Polygon
p
)
{
if
(
p
.
getInnerRings
().
isEmpty
())
{
...
...
@@ -128,11 +118,6 @@ public class PolygonIntersectingRingsCheck extends Check {
return
false
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -147,4 +132,9 @@ public class PolygonIntersectingRingsCheck extends Check {
public
Check
createNewInstance
()
{
return
new
PolygonIntersectingRingsCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_P_INTERSECTING_RINGS
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/PolygonSameOrientationCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonSameOrientationError
;
import
de.hft.stuttgart.citydoctor2.checks.util.Orientation
;
...
...
@@ -39,7 +38,6 @@ import de.hft.stuttgart.citydoctor2.math.Ring2d;
public
class
PolygonSameOrientationCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -49,14 +47,6 @@ public class PolygonSameOrientationCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_R_SELF_INTERSECTION
);
deps
.
add
(
CheckId
.
C_GE_P_NON_PLANAR
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Polygon
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
PolygonSameOrientationCheck
()
{
super
(
CheckId
.
C_GE_P_ORIENTATION_RINGS_SAME
);
}
@Override
...
...
@@ -84,11 +74,6 @@ public class PolygonSameOrientationCheck extends Check {
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -104,4 +89,9 @@ public class PolygonSameOrientationCheck extends Check {
return
new
PolygonSameOrientationCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_P_ORIENTATION_RINGS_SAME
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/PolygonWrongOrientationCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.PolygonWrongOrientationError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
...
...
@@ -43,7 +42,6 @@ public class PolygonWrongOrientationCheck extends Check {
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -58,14 +56,6 @@ public class PolygonWrongOrientationCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_S_NOT_CLOSED
);
deps
.
add
(
CheckId
.
C_GE_S_NON_MANIFOLD_EDGE
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
PolygonWrongOrientationCheck
()
{
super
(
CheckId
.
C_GE_S_POLYGON_WRONG_ORIENTATION
);
}
@Override
...
...
@@ -96,11 +86,6 @@ public class PolygonWrongOrientationCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -110,4 +95,9 @@ public class PolygonWrongOrientationCheck extends Check {
public
Check
createNewInstance
()
{
return
new
PolygonWrongOrientationCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_POLYGON_WRONG_ORIENTATION
;
}
}
\ No newline at end of file
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/RingNotClosedCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.RingNotClosedError
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
...
...
@@ -43,19 +42,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
public
class
RingNotClosedCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
LinearRing
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
RingNotClosedCheck
()
{
super
(
CheckId
.
C_GE_R_NOT_CLOSED
);
}
@Override
...
...
@@ -63,11 +53,6 @@ public class RingNotClosedCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
void
check
(
LinearRing
lr
)
{
Vertex
first
=
lr
.
getVertices
().
get
(
0
);
...
...
@@ -92,4 +77,9 @@ public class RingNotClosedCheck extends Check {
public
Check
createNewInstance
()
{
return
new
RingNotClosedCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_R_NOT_CLOSED
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/RingSelfIntCheck.java
View file @
a0ff9ed7
...
...
@@ -28,10 +28,9 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.RingEdgeIntersectionError
;
import
de.hft.stuttgart.citydoctor2.check.error.PointTouchesEdgeError
;
import
de.hft.stuttgart.citydoctor2.check.error.RingEdgeIntersectionError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
...
...
@@ -46,7 +45,6 @@ public class RingSelfIntCheck extends Check {
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
...
...
@@ -55,19 +53,10 @@ public class RingSelfIntCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_R_NOT_CLOSED
);
deps
.
add
(
CheckId
.
C_GE_R_DUPLICATE_POINT
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
LinearRing
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
private
double
epsilon
=
0.0001
;
public
RingSelfIntCheck
()
{
super
(
CheckId
.
C_GE_R_SELF_INTERSECTION
);
}
@Override
public
void
init
(
Map
<
String
,
String
>
parameters
,
ParserConfiguration
config
)
{
String
epsilonString
=
parameters
.
get
(
EPSILON_NAME
);
...
...
@@ -151,11 +140,6 @@ public class RingSelfIntCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -165,4 +149,9 @@ public class RingSelfIntCheck extends Check {
public
Check
createNewInstance
()
{
return
new
RingSelfIntCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_R_SELF_INTERSECTION
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/SolidNotClosedCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidNotClosedError
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
...
...
@@ -44,7 +43,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
public
class
SolidNotClosedCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -58,16 +56,8 @@ public class SolidNotClosedCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_S_TOO_FEW_POLYGONS
);
dependencies
=
Collections
.
unmodifiableList
(
deps
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
SolidNotClosedCheck
()
{
super
(
CheckId
.
C_GE_S_NOT_CLOSED
);
}
@Override
public
void
check
(
Geometry
g
)
{
// only for solids
...
...
@@ -98,11 +88,6 @@ public class SolidNotClosedCheck extends Check {
return
dependencies
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
CheckType
getType
()
{
return
CheckType
.
GEOMETRY
;
...
...
@@ -112,4 +97,9 @@ public class SolidNotClosedCheck extends Check {
public
Check
createNewInstance
()
{
return
new
SolidNotClosedCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_NOT_CLOSED
;
}
}
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/checks/geometry/SolidSelfIntCheck.java
View file @
a0ff9ed7
...
...
@@ -27,7 +27,6 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.check.CheckResult
;
import
de.hft.stuttgart.citydoctor2.check.CheckType
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.check.GeometrySelfIntersection
;
import
de.hft.stuttgart.citydoctor2.check.ResultStatus
;
import
de.hft.stuttgart.citydoctor2.check.error.SolidSelfIntError
;
...
...
@@ -45,7 +44,6 @@ import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
public
class
SolidSelfIntCheck
extends
Check
{
private
static
final
List
<
CheckId
>
dependencies
;
private
static
final
List
<
Class
<?
extends
Checkable
>>
applicableToClasses
;
static
{
ArrayList
<
CheckId
>
deps
=
new
ArrayList
<>();
...
...
@@ -66,14 +64,6 @@ public class SolidSelfIntCheck extends Check {
deps
.
add
(
CheckId
.
C_GE_S_NON_MANIFOLD_EDGE
);
deps
.
add
(
CheckId
.
C_GE_S_NON_MANIFOLD_VERTEX
);
deps
.
add
(
CheckId
.
C_GE_S_POLYGON_WRONG_ORIENTATION
);
ArrayList
<
Class
<?
extends
Checkable
>>
classes
=
new
ArrayList
<>();
classes
.
add
(
Geometry
.
class
);
applicableToClasses
=
Collections
.
unmodifiableList
(
classes
);
}
public
SolidSelfIntCheck
()
{
super
(
CheckId
.
C_GE_S_SELF_INTERSECTION
);
}
@Override
...
...
@@ -104,11 +94,6 @@ public class SolidSelfIntCheck extends Check {
return
cr
;
}
@Override
public
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
@Override
public
List
<
CheckId
>
getDependencies
()
{
return
dependencies
;
...
...
@@ -123,4 +108,9 @@ public class SolidSelfIntCheck extends Check {
public
Check
createNewInstance
()
{
return
new
SolidSelfIntCheck
();
}
@Override
public
CheckId
getCheckId
()
{
return
CheckId
.
C_GE_S_SELF_INTERSECTION
;
}
}
Prev
1
2
3
4
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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