Skip to content
GitLab
Explore
Projects
Groups
Snippets
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
4 years ago
by
Matthias Betz
Browse files
Options
Download
Email Patches
Plain Diff
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
Showing
20 changed files
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java
+21
-10
...c/main/java/de/hft/stuttgart/citydoctor2/check/Check.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckError.java
+7
-35
...n/java/de/hft/stuttgart/citydoctor2/check/CheckError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckId.java
+67
-43
...main/java/de/hft/stuttgart/citydoctor2/check/CheckId.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java
+2
-2
...in/java/de/hft/stuttgart/citydoctor2/check/Checkable.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorId.java
+65
-18
...main/java/de/hft/stuttgart/citydoctor2/check/ErrorId.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/AllPolygonsWrongOrientationError.java
+17
-2
...doctor2/check/error/AllPolygonsWrongOrientationError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/ConsecutivePointSameError.java
+17
-2
...rt/citydoctor2/check/error/ConsecutivePointSameError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/DependenciesNotMetError.java
+17
-2
...gart/citydoctor2/check/error/DependenciesNotMetError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/MultipleConnectedComponentsError.java
+17
-2
...doctor2/check/error/MultipleConnectedComponentsError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NestedRingError.java
+17
-2
...ft/stuttgart/citydoctor2/check/error/NestedRingError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonManifoldEdgeError.java
+17
-2
...uttgart/citydoctor2/check/error/NonManifoldEdgeError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonManifoldVertexError.java
+17
-2
...tgart/citydoctor2/check/error/NonManifoldVertexError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonPlanarPolygonDistancePlaneError.java
+17
-2
...ctor2/check/error/NonPlanarPolygonDistancePlaneError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonPlanarPolygonNormalsDeviation.java
+17
-2
...doctor2/check/error/NonPlanarPolygonNormalsDeviation.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotCeilingError.java
+17
-2
...ft/stuttgart/citydoctor2/check/error/NotCeilingError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotFloorError.java
+17
-2
.../hft/stuttgart/citydoctor2/check/error/NotFloorError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotGroundError.java
+17
-2
...hft/stuttgart/citydoctor2/check/error/NotGroundError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotWallError.java
+17
-2
...e/hft/stuttgart/citydoctor2/check/error/NotWallError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NullAreaError.java
+17
-2
.../hft/stuttgart/citydoctor2/check/error/NullAreaError.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PointTouchesEdgeError.java
+17
-2
...ttgart/citydoctor2/check/error/PointTouchesEdgeError.java
with
417 additions
and
138 deletions
+417
-138
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java
+
21
-
10
View file @
a0ff9ed7
...
@@ -18,6 +18,8 @@
...
@@ -18,6 +18,8 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check
;
package
de.hft.stuttgart.citydoctor2.check
;
import
java.lang.reflect.Method
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -61,10 +63,19 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
...
@@ -61,10 +63,19 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
*/
*/
public
abstract
class
Check
{
public
abstract
class
Check
{
private
CheckId
id
;
private
List
<
Class
<
Checkable
>>
applicableToClasses
=
new
ArrayList
<>(
2
)
;
public
Check
(
CheckId
id
)
{
@SuppressWarnings
(
"unchecked"
)
this
.
id
=
id
;
public
Check
()
{
Method
[]
declaredMethods
=
getClass
().
getDeclaredMethods
();
for
(
Method
m
:
declaredMethods
)
{
if
(
"check"
.
equals
(
m
.
getName
()))
{
Class
<?>[]
parameterTypes
=
m
.
getParameterTypes
();
if
(
parameterTypes
.
length
==
1
&&
Checkable
.
class
.
isAssignableFrom
(
parameterTypes
[
0
]))
{
applicableToClasses
.
add
((
Class
<
Checkable
>)
parameterTypes
[
0
]);
}
}
}
}
}
/**
/**
...
@@ -72,7 +83,9 @@ public abstract class Check {
...
@@ -72,7 +83,9 @@ public abstract class Check {
*
*
* @return a list of classes which the check applies to
* @return a list of classes which the check applies to
*/
*/
public
abstract
List
<
Class
<?
extends
Checkable
>>
getApplicableToClasses
();
public
List
<
Class
<
Checkable
>>
getApplicableToClasses
()
{
return
applicableToClasses
;
}
/**
/**
* A list of dependencies which the check depends on. Each of those dependencies
* A list of dependencies which the check depends on. Each of those dependencies
...
@@ -90,9 +103,7 @@ public abstract class Check {
...
@@ -90,9 +103,7 @@ public abstract class Check {
*
*
* @return the check id.
* @return the check id.
*/
*/
public
CheckId
getCheckId
()
{
public
abstract
CheckId
getCheckId
();
return
id
;
}
/**
/**
* Getter for the check type.
* Getter for the check type.
...
@@ -123,10 +134,10 @@ public abstract class Check {
...
@@ -123,10 +134,10 @@ public abstract class Check {
boolean
hasError
=
c
.
containsError
(
dependencyCheck
);
boolean
hasError
=
c
.
containsError
(
dependencyCheck
);
if
(
hasError
)
{
if
(
hasError
)
{
// check whether a result was already inserted
// check whether a result was already inserted
if
(!
c
.
hasDependencyNotMetError
(
id
))
{
if
(!
c
.
hasDependencyNotMetError
(
getCheckId
()
))
{
// insert dependency error
// insert dependency error
CheckError
err
=
new
DependenciesNotMetError
(
dependencyCheck
);
CheckError
err
=
new
DependenciesNotMetError
(
dependencyCheck
);
CheckResult
cr
=
new
CheckResult
(
this
.
id
,
ResultStatus
.
DEPENDENCIES_NOT_MET
,
err
);
CheckResult
cr
=
new
CheckResult
(
getCheckId
()
,
ResultStatus
.
DEPENDENCIES_NOT_MET
,
err
);
c
.
addCheckResult
(
cr
);
c
.
addCheckResult
(
cr
);
}
}
return
false
;
return
false
;
...
@@ -306,7 +317,7 @@ public abstract class Check {
...
@@ -306,7 +317,7 @@ public abstract class Check {
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"Check [id="
+
id
+
"]"
;
return
"Check [id="
+
getCheckId
()
+
"]"
;
}
}
/**
/**
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckError.java
+
7
-
35
View file @
a0ff9ed7
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
package
de.hft.stuttgart.citydoctor2.check
;
package
de.hft.stuttgart.citydoctor2.check
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Objects
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
...
@@ -32,56 +31,29 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
...
@@ -32,56 +31,29 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
abstract
class
CheckError
implem
en
t
s
Serializable
{
public
interface
CheckError
ext
en
d
s
Serializable
{
private
static
final
long
serialVersionUID
=
-
4428235366383090704L
;
private
ErrorType
type
;
private
ErrorId
id
;
private
GmlElement
feature
;
/**
* Necessary information for every error type needs to be provided in this
* constructor.
*
* @param id the error id (not null)
* @param type the error type (not null)
* @param feature element in which the error occurred
*/
public
CheckError
(
ErrorId
id
,
ErrorType
type
,
GmlElement
feature
)
{
Objects
.
requireNonNull
(
id
,
"id may not be null"
);
Objects
.
requireNonNull
(
type
,
"type may not be null"
);
this
.
type
=
type
;
this
.
id
=
id
;
this
.
feature
=
feature
;
}
/**
/**
* Getter for the error type
* Getter for the error type
*
*
* @return the error type
* @return the error type
*/
*/
public
ErrorType
getType
()
{
public
ErrorType
getType
();
return
type
;
}
/**
/**
* Getter for the error id
* Getter for the error id
*
*
* @return the error id
* @return the error id
*/
*/
public
ErrorId
getErrorId
()
{
public
ErrorId
getErrorId
();
return
id
;
}
/**
/**
* The gml feature in which the error occured
* The gml feature in which the error occured
*
*
* @return the gml feature
* @return the gml feature
*/
*/
public
GmlElement
getFeature
()
{
public
GmlElement
getFeature
();
return
feature
;
}
/**
/**
* A general visitor will have a look at this error. Visitor pattern.
* A general visitor will have a look at this error. Visitor pattern.
...
@@ -89,7 +61,7 @@ public abstract class CheckError implements Serializable {
...
@@ -89,7 +61,7 @@ public abstract class CheckError implements Serializable {
* @param errorVisitor the visitor, call {@link ErrorVisitor#visit(CheckError)})
* @param errorVisitor the visitor, call {@link ErrorVisitor#visit(CheckError)})
* on this.
* on this.
*/
*/
public
abstract
void
accept
(
ErrorVisitor
errorVisitor
);
public
void
accept
(
ErrorVisitor
errorVisitor
);
/**
/**
* Visitor pattern for the healing methods. Call
* Visitor pattern for the healing methods. Call
...
@@ -100,7 +72,7 @@ public abstract class CheckError implements Serializable {
...
@@ -100,7 +72,7 @@ public abstract class CheckError implements Serializable {
* @param l a modification listener when a healing method changes something
* @param l a modification listener when a healing method changes something
* @return true if the healing method changed something in the model
* @return true if the healing method changed something in the model
*/
*/
public
abstract
boolean
accept
(
HealingMethod
method
,
ModificationListener
l
);
public
boolean
accept
(
HealingMethod
method
,
ModificationListener
l
);
/**
/**
* This method functions as interface to various reporting places. The
* This method functions as interface to various reporting places. The
...
@@ -109,6 +81,6 @@ public abstract class CheckError implements Serializable {
...
@@ -109,6 +81,6 @@ public abstract class CheckError implements Serializable {
*
*
* @param report
* @param report
*/
*/
public
abstract
void
report
(
ErrorReport
report
);
public
void
report
(
ErrorReport
report
);
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckId.java
+
67
-
43
View file @
a0ff9ed7
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
* (at your option) any later version.
* (at your option) any later version.
*
*
* CityDoctor2 is distributed in the hope that it will be useful,
* CityDoctor2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* but WITHOUT ANY WARRANTY
)
; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* GNU Lesser General Public License for more details.
*
*
...
@@ -18,57 +18,81 @@
...
@@ -18,57 +18,81 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check
;
package
de.hft.stuttgart.citydoctor2.check
;
import
java.util.Collections
;
import
java.io.Serializable
;
import
java.util.Map
;
import
java.util.TreeMap
;
public
enum
CheckId
{
public
class
CheckId
implements
Serializable
{
C_GE_R_TOO_FEW_POINTS
(
"C_GE_R_TOO_FEW_POINTS"
),
C_GE_R_NOT_CLOSED
(
"C_GE_R_NOT_CLOSED"
),
private
static
final
long
serialVersionUID
=
-
6267337828874296004L
;
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS
(
"C_GE_S_MULTIPLE_CONNECTED_COMPONENTS"
),
C_GE_R_DUPLICATE_POINT
(
"C_GE_R_DUPLICATE_POINT"
),
C_GE_R_SELF_INTERSECTION
(
"C_GE_R_SELF_INTERSECTION"
),
public
static
final
CheckId
C_GE_R_TOO_FEW_POINTS
=
new
CheckId
(
"C_GE_R_TOO_FEW_POINTS"
);
C_GE_P_INTERIOR_DISCONNECTED
(
"C_GE_P_INTERIOR_DISCONNECTED"
),
public
static
final
CheckId
C_GE_R_NOT_CLOSED
=
new
CheckId
(
"C_GE_R_NOT_CLOSED"
);
C_GE_P_INTERSECTING_RINGS
(
"C_GE_P_INTERSECTING_RINGS"
),
C_GE_P_NON_PLANAR
(
"C_GE_P_NON_PLANAR"
),
public
static
final
CheckId
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS
=
new
CheckId
(
C_GE_S_TOO_FEW_POLYGONS
(
"C_GE_S_TOO_FEW_POLYGONS"
),
NULL_AREA
(
"C_GE_R_NULL_AREA"
),
"C_GE_S_MULTIPLE_CONNECTED_COMPONENTS"
);
C_GE_S_NOT_CLOSED
(
"C_GE_S_NOT_CLOSED"
),
C_GE_S_NON_MANIFOLD_EDGE
(
"C_GE_S_NON_MANIFOLD_EDGE"
),
public
static
final
CheckId
C_GE_R_DUPLICATE_POINT
=
new
CheckId
(
"C_GE_R_DUPLICATE_POINT"
);
C_GE_S_POLYGON_WRONG_ORIENTATION
(
"C_GE_S_POLYGON_WRONG_ORIENTATION"
),
public
static
final
CheckId
C_GE_R_SELF_INTERSECTION
=
new
CheckId
(
"C_GE_R_SELF_INTERSECTION"
);
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION
(
"C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION"
),
public
static
final
CheckId
C_GE_P_INTERIOR_DISCONNECTED
=
new
CheckId
(
"C_GE_P_INTERIOR_DISCONNECTED"
);
C_GE_S_NON_MANIFOLD_VERTEX
(
"C_GE_S_NON_MANIFOLD_VERTEX"
),
C_GE_S_SELF_INTERSECTION
(
"C_GE_S_SELF_INTERSECTION"
),
public
static
final
CheckId
C_GE_P_INTERSECTING_RINGS
=
new
CheckId
(
"C_GE_P_INTERSECTING_RINGS"
);
C_GE_P_HOLE_OUTSIDE
(
"C_GE_P_HOLE_OUTSIDE"
),
C_GE_P_ORIENTATION_RINGS_SAME
(
"C_GE_P_ORIENTATION_RINGS_SAME"
),
public
static
final
CheckId
C_GE_P_NON_PLANAR
=
new
CheckId
(
"C_GE_P_NON_PLANAR"
);
C_GE_P_INNER_RINGS_NESTED
(
"C_GE_P_INNER_RINGS_NESTED"
),
IS_CEILING
(
"IS_CEILING"
),
public
static
final
CheckId
C_GE_S_TOO_FEW_POLYGONS
=
new
CheckId
(
"C_GE_S_TOO_FEW_POLYGONS"
);
C_SEM_F_MISSING_ID
(
"C_SEM_F_MISSING_ID"
),
C_SEM_BS_NOT_CEILING
(
"C_SEM_BS_NOT_CEILING"
),
public
static
final
CheckId
C_GE_R_NULL_AREA
=
new
CheckId
(
"C_GE_R_NULL_AREA"
);
C_SEM_BS_NOT_FLOOR
(
"C_SEM_BS_NOT_FLOOR"
),
C_SEM_BS_NOT_GROUND
(
"C_SEM_BS_NOT_GROUND"
),
public
static
final
CheckId
C_GE_S_NON_MANIFOLD_EDGE
=
new
CheckId
(
"C_GE_S_NON_MANIFOLD_EDGE"
);
C_SEM_BS_GROUND_NOT_FRAGMENTED
(
"C_SEM_BS_GROUND_NOT_FRAGMENTED"
),
C_SEM_BS_IS_WALL
(
"C_SEM_BS_IS_WALL"
),
public
static
final
CheckId
C_GE_S_POLYGON_WRONG_ORIENTATION
=
new
CheckId
(
"C_GE_S_POLYGON_WRONG_ORIENTATION"
);
C_SEM_SCHEMATRON
(
"C_SEM_SCHEMATRON"
),
C_SEM_BS_ROOF_NOT_FRAGMENTED
(
"C_SEM_BS_ROOF_NOT_FRAGMENTED"
);
public
static
final
CheckId
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION
=
new
CheckId
(
"C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION"
);
public
static
final
CheckId
C_GE_S_NON_MANIFOLD_VERTEX
=
new
CheckId
(
"C_GE_S_NON_MANIFOLD_VERTEX"
);
public
static
final
CheckId
C_GE_S_SELF_INTERSECTION
=
new
CheckId
(
"C_GE_S_SELF_INTERSECTION"
);
public
static
final
CheckId
C_GE_P_HOLE_OUTSIDE
=
new
CheckId
(
"C_GE_P_HOLE_OUTSIDE"
);
public
static
final
CheckId
IS_CEILING
=
new
CheckId
(
"IS_CEILING"
);
public
static
final
CheckId
C_GE_P_INNER_RINGS_NESTED
=
new
CheckId
(
"C_GE_P_INNER_RINGS_NESTED"
);
public
static
final
CheckId
C_SEM_BS_NOT_CEILING
=
new
CheckId
(
"C_SEM_BS_NOT_CEILING"
);
public
static
final
CheckId
C_SEM_BS_NOT_FLOOR
=
new
CheckId
(
"C_SEM_BS_NOT_FLOOR"
);
public
static
final
CheckId
C_SEM_BS_NOT_GROUND
=
new
CheckId
(
"C_SEM_BS_NOT_GROUND"
);
public
static
final
CheckId
C_SEM_F_MISSING_ID
=
new
CheckId
(
"C_SEM_F_MISSING_ID"
);
public
static
final
CheckId
C_SEM_BS_GROUND_NOT_FRAGMENTED
=
new
CheckId
(
"C_SEM_BS_GROUND_NOT_FRAGMENTED"
);
public
static
final
CheckId
C_SEM_BS_IS_WALL
=
new
CheckId
(
"C_SEM_BS_IS_WALL"
);
public
static
final
CheckId
C_SEM_SCHEMATRON
=
new
CheckId
(
"C_SEM_SCHEMATRON"
);
public
static
final
CheckId
C_SEM_BS_ROOF_NOT_FRAGMENTED
=
new
CheckId
(
"C_SEM_BS_ROOF_NOT_FRAGMENTED"
);
public
static
final
CheckId
C_GE_S_NOT_CLOSED
=
new
CheckId
(
"C_GE_S_NOT_CLOSED"
);
public
static
final
CheckId
C_GE_P_ORIENTATION_RINGS_SAME
=
new
CheckId
(
"C_GE_P_ORIENTATION_RINGS_SAME"
);
private
String
name
;
private
static
final
Map
<
String
,
CheckId
>
ENUM_MAP
;
public
CheckId
(
String
name
)
{
this
.
name
=
name
;
static
{
}
Map
<
String
,
CheckId
>
map
=
new
TreeMap
<>();
for
(
CheckId
instance
:
CheckId
.
values
())
{
public
String
getName
()
{
map
.
put
(
instance
.
toString
().
toUpperCase
(),
instance
);
return
name
;
}
}
ENUM_MAP
=
Collections
.
unmodifiableMap
(
map
);
@Override
public
int
hashCode
()
{
final
int
prime
=
31
;
int
result
=
1
;
result
=
prime
*
result
+
((
name
==
null
)
?
0
:
name
.
hashCode
());
return
result
;
}
}
private
String
id
;
@Override
public
boolean
equals
(
Object
obj
)
{
private
CheckId
(
String
id
)
{
if
(
this
==
obj
)
this
.
id
=
id
;
return
true
;
if
(
obj
==
null
)
return
false
;
if
(
getClass
()
!=
obj
.
getClass
())
return
false
;
CheckId
other
=
(
CheckId
)
obj
;
if
(
name
==
null
)
{
if
(
other
.
name
!=
null
)
return
false
;
}
else
if
(!
name
.
equals
(
other
.
name
))
return
false
;
return
true
;
}
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
id
;
return
name
;
}
}
/**
* Converts a String to a check id if possible.
*
* @param checkName the string representation of a check
* @return the check id or null if not found.
*/
public
static
CheckId
getIdForName
(
String
checkName
)
{
return
ENUM_MAP
.
get
(
checkName
.
toUpperCase
());
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java
+
2
-
2
View file @
a0ff9ed7
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
package
de.hft.stuttgart.citydoctor2.check
;
package
de.hft.stuttgart.citydoctor2.check
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.
Enum
Map
;
import
java.util.
Hash
Map
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -40,7 +40,7 @@ public abstract class Checkable implements Serializable {
...
@@ -40,7 +40,7 @@ public abstract class Checkable implements Serializable {
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
Checkable
.
class
);
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
Checkable
.
class
);
private
Enum
Map
<
CheckId
,
CheckResult
>
checkResults
=
new
Enum
Map
<>(
CheckId
.
class
);
private
Map
<
CheckId
,
CheckResult
>
checkResults
=
new
Hash
Map
<>();
private
boolean
isValidated
=
false
;
private
boolean
isValidated
=
false
;
protected
void
setValidated
(
boolean
validated
)
{
protected
void
setValidated
(
boolean
validated
)
{
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/ErrorId.java
+
65
-
18
View file @
a0ff9ed7
...
@@ -18,6 +18,8 @@
...
@@ -18,6 +18,8 @@
*/
*/
package
de.hft.stuttgart.citydoctor2.check
;
package
de.hft.stuttgart.citydoctor2.check
;
import
java.io.Serializable
;
/**
/**
* The error ids of all checks and their respective name, which is used in
* The error ids of all checks and their respective name, which is used in
* reports and GUI
* reports and GUI
...
@@ -25,30 +27,75 @@ package de.hft.stuttgart.citydoctor2.check;
...
@@ -25,30 +27,75 @@ package de.hft.stuttgart.citydoctor2.check;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
enum
ErrorId
{
public
class
ErrorId
implements
Serializable
{
DEPENDENCIES_NOT_MET
(
"Dependencies_not_met"
),
UNKNOWN_ERROR
(
"Unknown_error"
),
GE_R_NOT_CLOSED
(
"GE_R_NOT_CLOSED"
),
private
static
final
long
serialVersionUID
=
-
2598466667746276560L
;
GE_S_MULTIPLE_CONNECTED_COMPONENTS
(
"GE_S_MULTIPLE_CONNECTED_COMPONENTS"
),
GE_R_CONSECUTIVE_POINTS_SAME
(
"GE_R_CONSECUTIVE_POINTS_SAME"
),
GE_R_SELF_INTERSECTION
(
"GE_R_SELF_INTERSECTION"
),
public
static
final
ErrorId
DEPENDENCIES_NOT_MET
=
new
ErrorId
(
"Dependencies_not_met"
);
GE_S_POLYGON_WRONG_ORIENTATION
(
"GE_S_POLYGON_WRONG_ORIENTATION"
),
public
static
final
ErrorId
UNKNOWN_ERROR
=
new
ErrorId
(
"Unknown_error"
);
GE_S_ALL_POLYGONS_WRONG_ORIENTATION
(
"GE_S_ALL_POLYGONS_WRONG_ORIENTATION"
),
GE_P_HOLE_OUTSIDE
(
"GE_P_HOLE_OUTSIDE"
),
public
static
final
ErrorId
GE_R_NOT_CLOSED
=
new
ErrorId
(
"GE_R_NOT_CLOSED"
);
GE_P_INTERIOR_DISCONNECTED
(
"GE_P_INTERIOR_DISCONNECTED"
),
GE_S_NON_MANIFOLD_VERTEX
(
"GE_S_NON_MANIFOLD_VERTEX"
),
public
static
final
ErrorId
GE_S_MULTIPLE_CONNECTED_COMPONENTS
=
new
ErrorId
(
"GE_S_MULTIPLE_CONNECTED_COMPONENTS"
);
GE_P_INNER_RINGS_NESTED
(
"GE_P_INNER_RINGS_NESTED"
),
GE_R_NULL_AREA
(
"GE_R_NULL_AREA"
),
public
static
final
ErrorId
GE_R_CONSECUTIVE_POINTS_SAME
=
new
ErrorId
(
"GE_R_CONSECUTIVE_POINTS_SAME"
);
GE_R_TOO_FEW_POINTS
(
"GE_R_TOO_FEW_POINTS"
),
GE_S_NON_MANIFOLD_EDGE
(
"GE_S_NON_MANIFOLD_EDGE"
),
public
static
final
ErrorId
GE_R_SELF_INTERSECTION
=
new
ErrorId
(
"GE_R_SELF_INTERSECTION"
);
GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION
(
"GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"
),
public
static
final
ErrorId
GE_S_POLYGON_WRONG_ORIENTATION
=
new
ErrorId
(
"GE_S_POLYGON_WRONG_ORIENTATION"
);
GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE
(
"GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"
),
public
static
final
ErrorId
GE_S_ALL_POLYGONS_WRONG_ORIENTATION
=
new
ErrorId
(
GE_P_ORIENTATION_RINGS_SAME
(
"GE_P_ORIENTATION_RINGS_SAME"
),
GE_P_INTERSECTING_RINGS
(
"GE_P_INTERSECTION_RINGS"
),
"GE_S_ALL_POLYGONS_WRONG_ORIENTATION"
);
GE_S_NOT_CLOSED
(
"GE_S_NOT_CLOSED"
),
GE_S_SELF_INTERSECTION
(
"GE_S_SELF_INTERSECTION"
),
public
static
final
ErrorId
GE_P_HOLE_OUTSIDE
=
new
ErrorId
(
"GE_P_HOLE_OUTSIDE"
);
GE_S_TOO_FEW_POLYGONS
(
"GE_S_TOO_FEW_POLYGONS"
),
SEM_F_MISSING_ID
(
"SEM_F_MISSING_GML_ID"
),
public
static
final
ErrorId
GE_P_INTERIOR_DISCONNECTED
=
new
ErrorId
(
"GE_P_INTERIOR_DISCONNECTED"
);
SEM_BS_NOT_CEILING
(
"SEM_BS_NOT_CEILING"
),
SEM_BS_NOT_WALL
(
"SEM_BS_NOT_WALL"
),
SEM_BS_NOT_FLOOR
(
"SEM_BS_NOT_FLOOR"
),
public
static
final
ErrorId
GE_S_NON_MANIFOLD_VERTEX
=
new
ErrorId
(
"GE_S_NON_MANIFOLD_VERTEX"
);
SEM_BS_NOT_GROUND
(
"SEM_BS_NOT_GROUND"
),
SEM_SCHEMATRON_ERROR
(
"SEM_SCHEMATRON_ERROR"
),
SEM_BS_UNFRAGMENTED
(
"SEM_BS_UNFRAGMENTED"
),
GE_P_TINY_EDGE
(
"GE_P_TINY_EDGE"
);
public
static
final
ErrorId
GE_P_INNER_RINGS_NESTED
=
new
ErrorId
(
"GE_P_INNER_RINGS_NESTED"
);
public
static
final
ErrorId
GE_R_NULL_AREA
=
new
ErrorId
(
"GE_R_NULL_AREA"
);
public
static
final
ErrorId
GE_R_TOO_FEW_POINTS
=
new
ErrorId
(
"GE_R_TOO_FEW_POINTS"
);
public
static
final
ErrorId
GE_S_NON_MANIFOLD_EDGE
=
new
ErrorId
(
"GE_S_NON_MANIFOLD_EDGE"
);
public
static
final
ErrorId
GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION
=
new
ErrorId
(
"GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"
);
public
static
final
ErrorId
GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE
=
new
ErrorId
(
"GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"
);
public
static
final
ErrorId
GE_P_INTERSECTING_RINGS
=
new
ErrorId
(
"GE_P_INTERSECTING_RINGS"
);
public
static
final
ErrorId
GE_S_SELF_INTERSECTION
=
new
ErrorId
(
"GE_S_SELF_INTERSECTION"
);
public
static
final
ErrorId
GE_P_ORIENTATION_RINGS_SAME
=
new
ErrorId
(
"GE_P_ORIENTATION_RINGS_SAME"
);
public
static
final
ErrorId
GE_S_NOT_CLOSED
=
new
ErrorId
(
"GE_S_NOT_CLOSED"
);
public
static
final
ErrorId
GE_S_TOO_FEW_POLYGONS
=
new
ErrorId
(
"GE_S_TOO_FEW_POLYGONS"
);
public
static
final
ErrorId
SEM_F_MISSING_ID
=
new
ErrorId
(
"SEM_F_MISSING_ID"
);
public
static
final
ErrorId
SEM_BS_NOT_CEILING
=
new
ErrorId
(
"SEM_BS_NOT_CEILING"
);
public
static
final
ErrorId
SEM_BS_NOT_WALL
=
new
ErrorId
(
"SEM_BS_NOT_WALL"
);
public
static
final
ErrorId
SEM_BS_NOT_FLOOR
=
new
ErrorId
(
"SEM_BS_NOT_FLOOR"
);
public
static
final
ErrorId
SEM_BS_NOT_GROUND
=
new
ErrorId
(
"SEM_BS_NOT_GROUND"
);
public
static
final
ErrorId
SEM_SCHEMATRON_ERROR
=
new
ErrorId
(
"SEM_SCHEMATRON_ERROR"
);
public
static
final
ErrorId
SEM_BS_UNFRAGMENTED
=
new
ErrorId
(
"SEM_BS_UNFRAGMENTED"
);
public
static
final
ErrorId
GE_P_TINY_EDGE
=
new
ErrorId
(
"GE_P_TINY_EDGE"
);
private
String
name
;
private
String
name
;
p
rivate
ErrorId
(
String
name
)
{
p
ublic
ErrorId
(
String
name
)
{
this
.
name
=
name
;
this
.
name
=
name
;
}
}
@Override
public
int
hashCode
()
{
final
int
prime
=
31
;
int
result
=
1
;
result
=
prime
*
result
+
((
name
==
null
)
?
0
:
name
.
hashCode
());
return
result
;
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
this
==
obj
)
return
true
;
if
(
obj
==
null
)
return
false
;
if
(
getClass
()
!=
obj
.
getClass
())
return
false
;
ErrorId
other
=
(
ErrorId
)
obj
;
if
(
name
==
null
)
{
if
(
other
.
name
!=
null
)
return
false
;
}
else
if
(!
name
.
equals
(
other
.
name
))
return
false
;
return
true
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
name
;
return
name
;
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/AllPolygonsWrongOrientationError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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
;
/**
/**
* Error when all polygons are oriented wrong.
* Error when all polygons are oriented wrong.
...
@@ -33,14 +34,13 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
...
@@ -33,14 +34,13 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
AllPolygonsWrongOrientationError
ext
en
d
s
CheckError
{
public
class
AllPolygonsWrongOrientationError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
2263993313732858840L
;
private
static
final
long
serialVersionUID
=
2263993313732858840L
;
private
Geometry
geom
;
private
Geometry
geom
;
public
AllPolygonsWrongOrientationError
(
Geometry
geom
)
{
public
AllPolygonsWrongOrientationError
(
Geometry
geom
)
{
super
(
ErrorId
.
GE_S_ALL_POLYGONS_WRONG_ORIENTATION
,
ErrorType
.
ERROR
,
geom
);
this
.
geom
=
geom
;
this
.
geom
=
geom
;
}
}
...
@@ -68,4 +68,19 @@ public class AllPolygonsWrongOrientationError extends CheckError {
...
@@ -68,4 +68,19 @@ public class AllPolygonsWrongOrientationError extends CheckError {
report
.
add
(
geom
);
report
.
add
(
geom
);
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_S_ALL_POLYGONS_WRONG_ORIENTATION
;
}
@Override
public
GmlElement
getFeature
()
{
return
getGeometry
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/ConsecutivePointSameError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
ConsecutivePointSameError
ext
en
d
s
CheckError
{
public
class
ConsecutivePointSameError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
6355935751554777494L
;
private
static
final
long
serialVersionUID
=
-
6355935751554777494L
;
...
@@ -44,7 +45,6 @@ public class ConsecutivePointSameError extends CheckError {
...
@@ -44,7 +45,6 @@ public class ConsecutivePointSameError extends CheckError {
private
Vertex
p2
;
private
Vertex
p2
;
public
ConsecutivePointSameError
(
LinearRing
lr
,
Vertex
p1
,
Vertex
p2
)
{
public
ConsecutivePointSameError
(
LinearRing
lr
,
Vertex
p1
,
Vertex
p2
)
{
super
(
ErrorId
.
GE_R_CONSECUTIVE_POINTS_SAME
,
ErrorType
.
ERROR
,
lr
);
this
.
lr
=
lr
;
this
.
lr
=
lr
;
this
.
p1
=
p1
;
this
.
p1
=
p1
;
this
.
p2
=
p2
;
this
.
p2
=
p2
;
...
@@ -83,4 +83,19 @@ public class ConsecutivePointSameError extends CheckError {
...
@@ -83,4 +83,19 @@ public class ConsecutivePointSameError extends CheckError {
report
.
add
(
"duplicate point 1"
,
p1
);
report
.
add
(
"duplicate point 1"
,
p1
);
report
.
add
(
"duplicate point 2"
,
p2
);
report
.
add
(
"duplicate point 2"
,
p2
);
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_R_CONSECUTIVE_POINTS_SAME
;
}
@Override
public
GmlElement
getFeature
()
{
return
getRing
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/DependenciesNotMetError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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
;
/**
/**
* When a check checks if it can be executed but one or more dependency has
* When a check checks if it can be executed but one or more dependency has
...
@@ -36,14 +37,13 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
...
@@ -36,14 +37,13 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
DependenciesNotMetError
ext
en
d
s
CheckError
{
public
class
DependenciesNotMetError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
851655185949574160L
;
private
static
final
long
serialVersionUID
=
-
851655185949574160L
;
private
CheckId
dependency
;
private
CheckId
dependency
;
public
DependenciesNotMetError
(
CheckId
dependency
)
{
public
DependenciesNotMetError
(
CheckId
dependency
)
{
super
(
ErrorId
.
DEPENDENCIES_NOT_MET
,
ErrorType
.
ERROR
,
null
);
this
.
dependency
=
dependency
;
this
.
dependency
=
dependency
;
}
}
...
@@ -70,4 +70,19 @@ public class DependenciesNotMetError extends CheckError {
...
@@ -70,4 +70,19 @@ public class DependenciesNotMetError extends CheckError {
public
void
report
(
ErrorReport
report
)
{
public
void
report
(
ErrorReport
report
)
{
report
.
add
(
"dependency"
,
dependency
.
toString
());
report
.
add
(
"dependency"
,
dependency
.
toString
());
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
DEPENDENCIES_NOT_MET
;
}
@Override
public
GmlElement
getFeature
()
{
return
null
;
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/MultipleConnectedComponentsError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -28,6 +28,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -28,6 +28,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
/**
/**
...
@@ -37,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -37,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
MultipleConnectedComponentsError
ext
en
d
s
CheckError
{
public
class
MultipleConnectedComponentsError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
2152069835068857036L
;
private
static
final
long
serialVersionUID
=
2152069835068857036L
;
...
@@ -45,7 +46,6 @@ public class MultipleConnectedComponentsError extends CheckError {
...
@@ -45,7 +46,6 @@ public class MultipleConnectedComponentsError extends CheckError {
private
List
<
List
<
Polygon
>>
components
;
private
List
<
List
<
Polygon
>>
components
;
public
MultipleConnectedComponentsError
(
Geometry
geom
,
List
<
List
<
Polygon
>>
components
)
{
public
MultipleConnectedComponentsError
(
Geometry
geom
,
List
<
List
<
Polygon
>>
components
)
{
super
(
ErrorId
.
GE_S_MULTIPLE_CONNECTED_COMPONENTS
,
ErrorType
.
ERROR
,
geom
);
this
.
geom
=
geom
;
this
.
geom
=
geom
;
this
.
components
=
components
;
this
.
components
=
components
;
}
}
...
@@ -81,4 +81,19 @@ public class MultipleConnectedComponentsError extends CheckError {
...
@@ -81,4 +81,19 @@ public class MultipleConnectedComponentsError extends CheckError {
public
String
toString
()
{
public
String
toString
()
{
return
"MultipleConnectedComponentsError [geom="
+
geom
+
", components="
+
components
+
"]"
;
return
"MultipleConnectedComponentsError [geom="
+
geom
+
", components="
+
components
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_S_MULTIPLE_CONNECTED_COMPONENTS
;
}
@Override
public
GmlElement
getFeature
()
{
return
getGeometry
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NestedRingError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
...
@@ -34,7 +35,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -34,7 +35,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NestedRingError
ext
en
d
s
CheckError
{
public
class
NestedRingError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
3396113374745830193L
;
private
static
final
long
serialVersionUID
=
-
3396113374745830193L
;
...
@@ -43,7 +44,6 @@ public class NestedRingError extends CheckError {
...
@@ -43,7 +44,6 @@ public class NestedRingError extends CheckError {
private
LinearRing
withinRing
;
private
LinearRing
withinRing
;
public
NestedRingError
(
Polygon
p
,
LinearRing
innerRing
,
LinearRing
withinRing
)
{
public
NestedRingError
(
Polygon
p
,
LinearRing
innerRing
,
LinearRing
withinRing
)
{
super
(
ErrorId
.
GE_P_INNER_RINGS_NESTED
,
ErrorType
.
ERROR
,
p
);
this
.
p
=
p
;
this
.
p
=
p
;
this
.
innerRing
=
innerRing
;
this
.
innerRing
=
innerRing
;
this
.
withinRing
=
withinRing
;
this
.
withinRing
=
withinRing
;
...
@@ -81,4 +81,19 @@ public class NestedRingError extends CheckError {
...
@@ -81,4 +81,19 @@ public class NestedRingError extends CheckError {
public
String
toString
()
{
public
String
toString
()
{
return
"NestedRingError [p="
+
p
+
", innerRing="
+
innerRing
+
"]"
;
return
"NestedRingError [p="
+
p
+
", innerRing="
+
innerRing
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_P_INNER_RINGS_NESTED
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonManifoldEdgeError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -29,6 +29,7 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
...
@@ -29,6 +29,7 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.datastructure.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
;
/**
/**
* 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.
...
@@ -36,7 +37,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
...
@@ -36,7 +37,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NonManifoldEdgeError
ext
en
d
s
CheckError
{
public
class
NonManifoldEdgeError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
6742948557014332402L
;
private
static
final
long
serialVersionUID
=
-
6742948557014332402L
;
...
@@ -44,7 +45,6 @@ public class NonManifoldEdgeError extends CheckError {
...
@@ -44,7 +45,6 @@ public class NonManifoldEdgeError extends CheckError {
private
Geometry
geom
;
private
Geometry
geom
;
public
NonManifoldEdgeError
(
Geometry
geom
,
List
<
Edge
>
edges
)
{
public
NonManifoldEdgeError
(
Geometry
geom
,
List
<
Edge
>
edges
)
{
super
(
ErrorId
.
GE_S_NON_MANIFOLD_EDGE
,
ErrorType
.
ERROR
,
geom
);
this
.
edges
=
edges
;
this
.
edges
=
edges
;
this
.
geom
=
geom
;
this
.
geom
=
geom
;
}
}
...
@@ -79,4 +79,19 @@ public class NonManifoldEdgeError extends CheckError {
...
@@ -79,4 +79,19 @@ public class NonManifoldEdgeError extends CheckError {
public
String
toString
()
{
public
String
toString
()
{
return
"ManifoldEdgeError [edges="
+
edges
+
", geom="
+
geom
+
"]"
;
return
"ManifoldEdgeError [edges="
+
edges
+
", geom="
+
geom
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_S_NON_MANIFOLD_EDGE
;
}
@Override
public
GmlElement
getFeature
()
{
return
getGeometry
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonManifoldVertexError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -28,6 +28,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -28,6 +28,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
...
@@ -38,7 +39,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
...
@@ -38,7 +39,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NonManifoldVertexError
ext
en
d
s
CheckError
{
public
class
NonManifoldVertexError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
3915669943428175777L
;
private
static
final
long
serialVersionUID
=
-
3915669943428175777L
;
...
@@ -47,7 +48,6 @@ public class NonManifoldVertexError extends CheckError {
...
@@ -47,7 +48,6 @@ public class NonManifoldVertexError extends CheckError {
private
Vertex
v
;
private
Vertex
v
;
public
NonManifoldVertexError
(
Geometry
geom
,
List
<
List
<
Polygon
>>
components
,
Vertex
v
)
{
public
NonManifoldVertexError
(
Geometry
geom
,
List
<
List
<
Polygon
>>
components
,
Vertex
v
)
{
super
(
ErrorId
.
GE_S_NON_MANIFOLD_VERTEX
,
ErrorType
.
ERROR
,
geom
);
this
.
geom
=
geom
;
this
.
geom
=
geom
;
this
.
components
=
components
;
this
.
components
=
components
;
this
.
v
=
v
;
this
.
v
=
v
;
...
@@ -94,4 +94,19 @@ public class NonManifoldVertexError extends CheckError {
...
@@ -94,4 +94,19 @@ public class NonManifoldVertexError extends CheckError {
return
"NonManifoldVertexError [components="
+
components
+
", geom="
+
geom
+
", v="
+
v
+
"]"
;
return
"NonManifoldVertexError [components="
+
components
+
", geom="
+
geom
+
", v="
+
v
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_S_NON_MANIFOLD_VERTEX
;
}
@Override
public
GmlElement
getFeature
()
{
return
getGeometry
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonPlanarPolygonDistancePlaneError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.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.math.Plane
;
import
de.hft.stuttgart.citydoctor2.math.Plane
;
...
@@ -37,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.utils.Localization;
...
@@ -37,7 +38,7 @@ import de.hft.stuttgart.citydoctor2.utils.Localization;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NonPlanarPolygonDistancePlaneError
ext
en
d
s
CheckError
{
public
class
NonPlanarPolygonDistancePlaneError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
3504364055236383519L
;
private
static
final
long
serialVersionUID
=
-
3504364055236383519L
;
...
@@ -47,7 +48,6 @@ public class NonPlanarPolygonDistancePlaneError extends CheckError {
...
@@ -47,7 +48,6 @@ public class NonPlanarPolygonDistancePlaneError extends CheckError {
private
Plane
plane
;
private
Plane
plane
;
public
NonPlanarPolygonDistancePlaneError
(
Polygon
p
,
double
distance
,
Vertex
v
,
Plane
plane
)
{
public
NonPlanarPolygonDistancePlaneError
(
Polygon
p
,
double
distance
,
Vertex
v
,
Plane
plane
)
{
super
(
ErrorId
.
GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE
,
ErrorType
.
ERROR
,
p
);
this
.
p
=
p
;
this
.
p
=
p
;
this
.
distance
=
distance
;
this
.
distance
=
distance
;
this
.
v
=
v
;
this
.
v
=
v
;
...
@@ -91,4 +91,19 @@ public class NonPlanarPolygonDistancePlaneError extends CheckError {
...
@@ -91,4 +91,19 @@ public class NonPlanarPolygonDistancePlaneError extends CheckError {
public
String
toString
()
{
public
String
toString
()
{
return
"DistanceError [p="
+
p
+
", distance="
+
distance
+
", v="
+
v
+
", plane="
+
plane
+
"]"
;
return
"DistanceError [p="
+
p
+
", distance="
+
distance
+
", v="
+
v
+
", plane="
+
plane
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NonPlanarPolygonNormalsDeviation.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
/**
/**
...
@@ -34,7 +35,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -34,7 +35,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NonPlanarPolygonNormalsDeviation
ext
en
d
s
CheckError
{
public
class
NonPlanarPolygonNormalsDeviation
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
69073161885265794L
;
private
static
final
long
serialVersionUID
=
69073161885265794L
;
...
@@ -42,7 +43,6 @@ public class NonPlanarPolygonNormalsDeviation extends CheckError {
...
@@ -42,7 +43,6 @@ public class NonPlanarPolygonNormalsDeviation extends CheckError {
private
double
deviation
;
private
double
deviation
;
public
NonPlanarPolygonNormalsDeviation
(
Polygon
p
,
double
deviation
)
{
public
NonPlanarPolygonNormalsDeviation
(
Polygon
p
,
double
deviation
)
{
super
(
ErrorId
.
GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION
,
ErrorType
.
ERROR
,
p
);
this
.
p
=
p
;
this
.
p
=
p
;
this
.
deviation
=
deviation
;
this
.
deviation
=
deviation
;
}
}
...
@@ -75,4 +75,19 @@ public class NonPlanarPolygonNormalsDeviation extends CheckError {
...
@@ -75,4 +75,19 @@ public class NonPlanarPolygonNormalsDeviation extends CheckError {
public
String
toString
()
{
public
String
toString
()
{
return
"NormalDeviationError [p="
+
p
+
", deviation="
+
deviation
+
"]"
;
return
"NormalDeviationError [p="
+
p
+
", deviation="
+
deviation
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotCeilingError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
/**
/**
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NotCeilingError
ext
en
d
s
CheckError
{
public
class
NotCeilingError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
6725904270389419696L
;
private
static
final
long
serialVersionUID
=
6725904270389419696L
;
...
@@ -43,7 +44,6 @@ public class NotCeilingError extends CheckError {
...
@@ -43,7 +44,6 @@ public class NotCeilingError extends CheckError {
private
Polygon
p
;
private
Polygon
p
;
public
NotCeilingError
(
BoundarySurface
bs
,
Polygon
p
)
{
public
NotCeilingError
(
BoundarySurface
bs
,
Polygon
p
)
{
super
(
ErrorId
.
SEM_BS_NOT_CEILING
,
ErrorType
.
WARNING
,
bs
);
surface
=
bs
;
surface
=
bs
;
this
.
p
=
p
;
this
.
p
=
p
;
}
}
...
@@ -72,4 +72,19 @@ public class NotCeilingError extends CheckError {
...
@@ -72,4 +72,19 @@ public class NotCeilingError extends CheckError {
report
.
add
(
surface
);
report
.
add
(
surface
);
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
SEM_BS_NOT_CEILING
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotFloorError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
/**
/**
...
@@ -34,7 +35,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -34,7 +35,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NotFloorError
ext
en
d
s
CheckError
{
public
class
NotFloorError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
-
3193557053834977449L
;
private
static
final
long
serialVersionUID
=
-
3193557053834977449L
;
...
@@ -42,7 +43,6 @@ public class NotFloorError extends CheckError {
...
@@ -42,7 +43,6 @@ public class NotFloorError extends CheckError {
private
Polygon
p
;
private
Polygon
p
;
public
NotFloorError
(
BoundarySurface
bs
,
Polygon
p
)
{
public
NotFloorError
(
BoundarySurface
bs
,
Polygon
p
)
{
super
(
ErrorId
.
SEM_BS_NOT_FLOOR
,
ErrorType
.
WARNING
,
bs
);
surface
=
bs
;
surface
=
bs
;
this
.
p
=
p
;
this
.
p
=
p
;
}
}
...
@@ -70,4 +70,19 @@ public class NotFloorError extends CheckError {
...
@@ -70,4 +70,19 @@ public class NotFloorError extends CheckError {
report
.
add
(
p
);
report
.
add
(
p
);
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
SEM_BS_NOT_FLOOR
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotGroundError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
/**
/**
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NotGroundError
ext
en
d
s
CheckError
{
public
class
NotGroundError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
8793224454858861221L
;
private
static
final
long
serialVersionUID
=
8793224454858861221L
;
...
@@ -43,7 +44,6 @@ public class NotGroundError extends CheckError {
...
@@ -43,7 +44,6 @@ public class NotGroundError extends CheckError {
private
Polygon
p
;
private
Polygon
p
;
public
NotGroundError
(
BoundarySurface
bs
,
Polygon
p
)
{
public
NotGroundError
(
BoundarySurface
bs
,
Polygon
p
)
{
super
(
ErrorId
.
SEM_BS_NOT_GROUND
,
ErrorType
.
WARNING
,
bs
);
surface
=
bs
;
surface
=
bs
;
this
.
p
=
p
;
this
.
p
=
p
;
}
}
...
@@ -72,4 +72,19 @@ public class NotGroundError extends CheckError {
...
@@ -72,4 +72,19 @@ public class NotGroundError extends CheckError {
report
.
add
(
surface
);
report
.
add
(
surface
);
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
SEM_BS_NOT_GROUND
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NotWallError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.check.ModificationListener
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.GmlElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.math.Vector3d
;
import
de.hft.stuttgart.citydoctor2.math.Vector3d
;
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.math.Vector3d;
...
@@ -35,7 +36,7 @@ import de.hft.stuttgart.citydoctor2.math.Vector3d;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NotWallError
ext
en
d
s
CheckError
{
public
class
NotWallError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
406429139625558232L
;
private
static
final
long
serialVersionUID
=
406429139625558232L
;
...
@@ -44,7 +45,6 @@ public class NotWallError extends CheckError {
...
@@ -44,7 +45,6 @@ public class NotWallError extends CheckError {
private
Vector3d
normal
;
private
Vector3d
normal
;
public
NotWallError
(
BoundarySurface
bs
,
Polygon
p
,
Vector3d
normal
)
{
public
NotWallError
(
BoundarySurface
bs
,
Polygon
p
,
Vector3d
normal
)
{
super
(
ErrorId
.
SEM_BS_NOT_WALL
,
ErrorType
.
WARNING
,
bs
);
surface
=
bs
;
surface
=
bs
;
this
.
p
=
p
;
this
.
p
=
p
;
this
.
normal
=
normal
;
this
.
normal
=
normal
;
...
@@ -75,4 +75,19 @@ public class NotWallError extends CheckError {
...
@@ -75,4 +75,19 @@ public class NotWallError extends CheckError {
report
.
add
(
"normal"
,
normal
);
report
.
add
(
"normal"
,
normal
);
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
SEM_BS_NOT_WALL
;
}
@Override
public
GmlElement
getFeature
()
{
return
getPolygon
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/NullAreaError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
...
@@ -25,6 +25,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorType;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.ErrorVisitor
;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
/**
/**
...
@@ -33,14 +34,13 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
...
@@ -33,14 +34,13 @@ import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
NullAreaError
ext
en
d
s
CheckError
{
public
class
NullAreaError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
1358910429039553687L
;
private
static
final
long
serialVersionUID
=
1358910429039553687L
;
private
LinearRing
lr
;
private
LinearRing
lr
;
public
NullAreaError
(
LinearRing
lr
)
{
public
NullAreaError
(
LinearRing
lr
)
{
super
(
ErrorId
.
GE_R_NULL_AREA
,
ErrorType
.
ERROR
,
lr
);
this
.
lr
=
lr
;
this
.
lr
=
lr
;
}
}
...
@@ -67,4 +67,19 @@ public class NullAreaError extends CheckError {
...
@@ -67,4 +67,19 @@ public class NullAreaError extends CheckError {
public
String
toString
()
{
public
String
toString
()
{
return
"NullAreaError [lr="
+
lr
+
"]"
;
return
"NullAreaError [lr="
+
lr
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_R_NULL_AREA
;
}
@Override
public
GmlElement
getFeature
()
{
return
getRing
();
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/error/PointTouchesEdgeError.java
+
17
-
2
View file @
a0ff9ed7
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
...
@@ -26,6 +26,7 @@ import de.hft.stuttgart.citydoctor2.check.ErrorVisitor;
import
de.hft.stuttgart.citydoctor2.check.HealingMethod
;
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.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
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
;
...
@@ -36,7 +37,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
...
@@ -36,7 +37,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
public
class
PointTouchesEdgeError
ext
en
d
s
CheckError
{
public
class
PointTouchesEdgeError
implem
en
t
s
CheckError
{
private
static
final
long
serialVersionUID
=
3277456707271748954L
;
private
static
final
long
serialVersionUID
=
3277456707271748954L
;
...
@@ -45,7 +46,6 @@ public class PointTouchesEdgeError extends CheckError {
...
@@ -45,7 +46,6 @@ public class PointTouchesEdgeError extends CheckError {
private
Vertex
v
;
private
Vertex
v
;
public
PointTouchesEdgeError
(
LinearRing
lr
,
Edge
e
,
Vertex
v
)
{
public
PointTouchesEdgeError
(
LinearRing
lr
,
Edge
e
,
Vertex
v
)
{
super
(
ErrorId
.
GE_R_SELF_INTERSECTION
,
ErrorType
.
ERROR
,
lr
);
this
.
lr
=
lr
;
this
.
lr
=
lr
;
this
.
e
=
e
;
this
.
e
=
e
;
this
.
v
=
v
;
this
.
v
=
v
;
...
@@ -86,4 +86,19 @@ public class PointTouchesEdgeError extends CheckError {
...
@@ -86,4 +86,19 @@ public class PointTouchesEdgeError extends CheckError {
return
"PointTouchesEdgeError [lr="
+
lr
+
", e="
+
e
+
", v="
+
v
+
"]"
;
return
"PointTouchesEdgeError [lr="
+
lr
+
", e="
+
e
+
", v="
+
v
+
"]"
;
}
}
@Override
public
ErrorType
getType
()
{
return
ErrorType
.
ERROR
;
}
@Override
public
ErrorId
getErrorId
()
{
return
ErrorId
.
GE_R_SELF_INTERSECTION
;
}
@Override
public
GmlElement
getFeature
()
{
return
getRing
();
}
}
}
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
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
Menu
Explore
Projects
Groups
Snippets