Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
2d57794b
Commit
2d57794b
authored
Mar 25, 2025
by
Beuster
Browse files
Merge remote-tracking branch 'origin/dev' into dev_cpp_code_conversion
parents
040af2d2
660255ab
Pipeline
#11013
passed with stage
in 1 minute and 38 seconds
Changes
241
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
2d57794b
...
@@ -4,5 +4,5 @@
...
@@ -4,5 +4,5 @@
/CityDoctorParent/.idea/jarRepositories.xml
/CityDoctorParent/.idea/jarRepositories.xml
/CityDoctorParent/.idea/misc.xml
/CityDoctorParent/.idea/misc.xml
/CityDoctorParent/.idea/vcs.xml
/CityDoctorParent/.idea/vcs.xml
.idea
/GUISettings.properties
/.metadata/
/.metadata/
.gitlab/.gitmessage
View file @
2d57794b
# Title: Summary, imperative, start upper case, don't end with a period
# Title: Summary, imperative, start upper case, don't end with a period
# Follow the formatting of <type>:<description>
# No more than 50 chars. #### 50 chars is here: #
# No more than 50 chars. #### 50 chars is here: #
# Types: Fix, Feat, Build, CI, Docs, Perf, Refactor, Style, Test
# See: https://www.conventionalcommits.org/en/v1.0.0/
# Remember blank line between title and body.
# Remember blank line between title and body.
# Body: Explain *what* and *why* (not *how*). Include task ID (Jira issue).
# Body: Explain *what* and *why* (not *how*). Include task ID (Jira issue).
# Wrap at 72 chars. ################################## which is here: #
# Wrap at 72 chars. ################################## which is here: #
# At the end: Include Co-authored-by for all contributors.
# Tell Git to use this template with: git config commit.template .gitlab/.gitmessage
# Include at least one empty line before it. Format:
# Co-authored-by: name <user@users.noreply.github.com>
#
# How to Write a Git Commit Message:
# How to Write a Git Commit Message:
# https://chris.beams.io/posts/git-commit/
# https://chris.beams.io/posts/git-commit/
#
\ No newline at end of file
# 1. Separate subject from body with a blank line
# 2. Limit the subject line to 50 characters
# 3. Capitalize the subject line
# 4. Do not end the subject line with a period
# 5. Use the imperative mood in the subject line
# 6. Wrap the body at 72 characters
# 7. Use the body to explain what and why vs. how
\ No newline at end of file
CHANGELOG.md
View file @
2d57794b
...
@@ -5,7 +5,24 @@ All notable changes to this project will be documented in this file.
...
@@ -5,7 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on
[
Keep a Changelog
](
https://keepachangelog.com/en/1.1.0/
)
,
The format is based on
[
Keep a Changelog
](
https://keepachangelog.com/en/1.1.0/
)
,
and this project adheres to
[
Semantic Versioning
](
https://semver.org/spec/v2.0.0.html
)
.
and this project adheres to
[
Semantic Versioning
](
https://semver.org/spec/v2.0.0.html
)
.
## [3.16.0] ((2024-11-11))
## [3.17.0] (2025-03-13)
### Added
-
Checking of CityGml ZIP-archives with CityDoctor (#12)
### Changed
-
Changed GUI to allow loading and checking of ZIP-archives. (#12)
### Fixes
-
Reworked self-intersection calculations to eliminate false-positives (#65)
-
CityGml objects added in 3.16.0 are now being recorded in error statistics and validation reports (#104)
-
Envelope and CRS will now be included when exporting singular features
-
Fixed various minor errors and bugs in CityDoctorGUI
## [3.16.0] (2024-11-11)
CityDoctor now supports the import, export and validation of CityGML 3.0 files.
CityDoctor now supports the import, export and validation of CityGML 3.0 files.
...
...
CityDoctorParent/CityDoctorCheckResult/pom.xml
View file @
2d57794b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<parent>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
CityDoctorParent
</artifactId>
<artifactId>
CityDoctorParent
</artifactId>
<version>
3.1
6
.0
</version>
<version>
3.1
7
.0
</version>
</parent>
</parent>
<artifactId>
CityDoctorCheckResult
</artifactId>
<artifactId>
CityDoctorCheckResult
</artifactId>
<dependencies>
<dependencies>
...
...
CityDoctorParent/CityDoctorCheckResult/src/main/java/de/hft/stuttgart/citydoctor2/checkresult/CheckReport.java
View file @
2d57794b
...
@@ -105,6 +105,9 @@ public class CheckReport {
...
@@ -105,6 +105,9 @@ public class CheckReport {
addFeatureReports
(
report
,
valResults
.
getTransportationReports
());
addFeatureReports
(
report
,
valResults
.
getTransportationReports
());
addFeatureReports
(
report
,
valResults
.
getVegetationReports
());
addFeatureReports
(
report
,
valResults
.
getVegetationReports
());
addFeatureReports
(
report
,
valResults
.
getWaterReports
());
addFeatureReports
(
report
,
valResults
.
getWaterReports
());
addFeatureReports
(
report
,
valResults
.
getTunnelReports
());
addFeatureReports
(
report
,
valResults
.
getCityFurnitureReports
());
addFeatureReports
(
report
,
valResults
.
getGenericCityObjectReports
());
}
}
}
}
...
...
CityDoctorParent/CityDoctorCheckResult/src/main/java/de/hft/stuttgart/citydoctor2/checkresult/GlobalErrorStatistics.java
View file @
2d57794b
...
@@ -43,6 +43,15 @@ public class GlobalErrorStatistics {
...
@@ -43,6 +43,15 @@ public class GlobalErrorStatistics {
@XmlElement
(
name
=
"num_error_transportation"
)
@XmlElement
(
name
=
"num_error_transportation"
)
private
int
numErrorTransportation
;
private
int
numErrorTransportation
;
@XmlElement
(
name
=
"num_error_tunnel_objects"
)
private
int
numErrorTunnelObjects
;
@XmlElement
(
name
=
"num_error_city_furniture"
)
private
int
numErrorCityFurniture
;
@XmlElement
(
name
=
"num_error_generic_city_objects"
)
private
int
numErrorGenericCityObjects
;
public
int
getNumErrorBuildings
()
{
public
int
getNumErrorBuildings
()
{
return
numErrorBuildings
;
return
numErrorBuildings
;
}
}
...
@@ -91,5 +100,27 @@ public class GlobalErrorStatistics {
...
@@ -91,5 +100,27 @@ public class GlobalErrorStatistics {
this
.
numErrorTransportation
=
numErrorTransportation
;
this
.
numErrorTransportation
=
numErrorTransportation
;
}
}
public
int
getNumErrorTunnelObjects
()
{
return
numErrorTunnelObjects
;
}
public
void
setNumErrorTunnelObjects
(
int
numErrorTunnelObjects
)
{
this
.
numErrorTunnelObjects
=
numErrorTunnelObjects
;
}
public
int
getNumErrorCityFurniture
()
{
return
numErrorCityFurniture
;
}
public
void
setNumErrorCityFurniture
(
int
numErrorCityFurniture
)
{
this
.
numErrorCityFurniture
=
numErrorCityFurniture
;
}
public
int
getNumErrorGenericCityObjects
()
{
return
numErrorGenericCityObjects
;
}
public
void
setNumErrorGenericCityObjects
(
int
numErrorGenericCityObjects
)
{
this
.
numErrorGenericCityObjects
=
numErrorGenericCityObjects
;
}
}
}
CityDoctorParent/CityDoctorCheckResult/src/main/java/de/hft/stuttgart/citydoctor2/checkresult/ModelStatistics.java
View file @
2d57794b
...
@@ -43,6 +43,16 @@ public class ModelStatistics {
...
@@ -43,6 +43,16 @@ public class ModelStatistics {
@XmlElement
(
name
=
"num_water_objects"
,
required
=
true
)
@XmlElement
(
name
=
"num_water_objects"
,
required
=
true
)
private
int
numWaterObjects
;
private
int
numWaterObjects
;
@XmlElement
(
name
=
"num_tunnel_objects"
,
required
=
true
)
private
int
numTunnelObjects
;
@XmlElement
(
name
=
"num_city_furniture"
,
required
=
true
)
private
int
numCityFurniture
;
@XmlElement
(
name
=
"num_generic_city_objects"
,
required
=
true
)
private
int
numGenericCityObjects
;
public
int
getNumBuildings
()
{
public
int
getNumBuildings
()
{
return
numBuildings
;
return
numBuildings
;
}
}
...
@@ -91,4 +101,27 @@ public class ModelStatistics {
...
@@ -91,4 +101,27 @@ public class ModelStatistics {
this
.
numWaterObjects
=
numWaterObjects
;
this
.
numWaterObjects
=
numWaterObjects
;
}
}
public
int
getNumTunnelObjects
()
{
return
numTunnelObjects
;
}
public
void
setNumTunnelObjects
(
int
numTunnelObjects
)
{
this
.
numTunnelObjects
=
numTunnelObjects
;
}
public
int
getNumCityFurniture
()
{
return
numCityFurniture
;
}
public
void
setNumCityFurniture
(
int
numCityFurniture
)
{
this
.
numCityFurniture
=
numCityFurniture
;
}
public
int
getNumGenericCityObjects
()
{
return
numGenericCityObjects
;
}
public
void
setNumGenericCityObjects
(
int
numGenericCityObjects
)
{
this
.
numGenericCityObjects
=
numGenericCityObjects
;
}
}
}
CityDoctorParent/CityDoctorCheckResult/src/main/java/de/hft/stuttgart/citydoctor2/checkresult/ValidationResults.java
View file @
2d57794b
...
@@ -50,7 +50,15 @@ public class ValidationResults {
...
@@ -50,7 +50,15 @@ public class ValidationResults {
@XmlElement
(
name
=
"water_object_report"
)
@XmlElement
(
name
=
"water_object_report"
)
private
List
<
FeatureReport
>
waterReports
;
private
List
<
FeatureReport
>
waterReports
;
@XmlElement
(
name
=
"tunnel_report"
)
private
List
<
FeatureReport
>
tunnelReports
;
@XmlElement
(
name
=
"city_furniture_report"
)
private
List
<
FeatureReport
>
cityFurnitureReports
;
@XmlElement
(
name
=
"generic_city_object_report"
)
private
List
<
FeatureReport
>
genericCityObjectReports
;
public
List
<
FeatureReport
>
getBuildingReports
()
{
public
List
<
FeatureReport
>
getBuildingReports
()
{
if
(
buildingReports
==
null
)
{
if
(
buildingReports
==
null
)
{
...
@@ -128,7 +136,38 @@ public class ValidationResults {
...
@@ -128,7 +136,38 @@ public class ValidationResults {
public
void
setWaterReports
(
List
<
FeatureReport
>
waterReports
)
{
public
void
setWaterReports
(
List
<
FeatureReport
>
waterReports
)
{
this
.
waterReports
=
waterReports
;
this
.
waterReports
=
waterReports
;
}
}
public
List
<
FeatureReport
>
getTunnelReports
()
{
if
(
tunnelReports
==
null
)
{
tunnelReports
=
new
ArrayList
<>();
}
return
tunnelReports
;
}
public
void
setTunnelReports
(
List
<
FeatureReport
>
tunnelReports
)
{
this
.
tunnelReports
=
tunnelReports
;
}
public
List
<
FeatureReport
>
getCityFurnitureReports
()
{
if
(
cityFurnitureReports
==
null
)
{
cityFurnitureReports
=
new
ArrayList
<>();
}
return
cityFurnitureReports
;
}
public
void
setCityFurnitureReports
(
List
<
FeatureReport
>
cityFurnitureReports
)
{
this
.
cityFurnitureReports
=
cityFurnitureReports
;
}
public
List
<
FeatureReport
>
getGenericCityObjectReports
()
{
if
(
genericCityObjectReports
==
null
)
{
genericCityObjectReports
=
new
ArrayList
<>();
}
return
genericCityObjectReports
;
}
public
void
setGenericCityObjectReports
(
List
<
FeatureReport
>
genericCityObjectReports
)
{
this
.
genericCityObjectReports
=
genericCityObjectReports
;
}
}
}
CityDoctorParent/CityDoctorEdge/pom.xml
View file @
2d57794b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<parent>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
CityDoctorParent
</artifactId>
<artifactId>
CityDoctorParent
</artifactId>
<version>
3.1
6
.0
</version>
<version>
3.1
7
.0
</version>
</parent>
</parent>
<artifactId>
CityDoctorEdge
</artifactId>
<artifactId>
CityDoctorEdge
</artifactId>
<dependencies>
<dependencies>
...
...
CityDoctorParent/CityDoctorEdge/src/main/java/de/hft/stuttgart/citydoctor2/edge/Vector2d.java
View file @
2d57794b
...
@@ -29,7 +29,6 @@ public class Vector2d {
...
@@ -29,7 +29,6 @@ public class Vector2d {
this
.
y
=
y
;
this
.
y
=
y
;
}
}
@SuppressWarnings
(
"SuspiciousNameCombination"
)
public
Vector2d
getPerpendicularVector
()
{
public
Vector2d
getPerpendicularVector
()
{
return
new
Vector2d
(
y
,
-
x
);
return
new
Vector2d
(
y
,
-
x
);
}
}
...
...
CityDoctorParent/CityDoctorModel/pom.xml
View file @
2d57794b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<parent>
<groupId>
de.hft.stuttgart
</groupId>
<groupId>
de.hft.stuttgart
</groupId>
<artifactId>
CityDoctorParent
</artifactId>
<artifactId>
CityDoctorParent
</artifactId>
<version>
3.1
6
.0
</version>
<version>
3.1
7
.0
</version>
</parent>
</parent>
<properties>
<properties>
<versionString>
${project.version}-${git.commit.id.abbrev}
</versionString>
<versionString>
${project.version}-${git.commit.id.abbrev}
</versionString>
...
@@ -58,6 +60,24 @@
...
@@ -58,6 +60,24 @@
<groupId>
org.locationtech.proj4j
</groupId>
<groupId>
org.locationtech.proj4j
</groupId>
<artifactId>
proj4j
</artifactId>
<artifactId>
proj4j
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
org.locationtech.proj4j
</groupId>
<artifactId>
proj4j-epsg
</artifactId>
</dependency>
<dependency>
<groupId>
commons-io
</groupId>
<artifactId>
commons-io
</artifactId>
<version>
2.16.1
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.locationtech.jts
</groupId>
<artifactId>
jts-core
</artifactId>
</dependency>
<dependency>
<groupId>
io.github.earcut4j
</groupId>
<artifactId>
earcut4j
</artifactId>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
<resources>
<resources>
...
@@ -84,7 +104,8 @@
...
@@ -84,7 +104,8 @@
<prefix>
git
</prefix>
<prefix>
git
</prefix>
<verbose>
false
</verbose>
<verbose>
false
</verbose>
<generateGitPropertiesFile>
true
</generateGitPropertiesFile>
<generateGitPropertiesFile>
true
</generateGitPropertiesFile>
<generateGitPropertiesFilename>
${project.build.outputDirectory}/git.properties
</generateGitPropertiesFilename>
<generateGitPropertiesFilename>
${project.build.outputDirectory}/git.properties
</generateGitPropertiesFilename>
<gitDescribe>
<gitDescribe>
<skip>
false
</skip>
<skip>
false
</skip>
<always>
false
</always>
<always>
false
</always>
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/HealingMethod.java
View file @
2d57794b
...
@@ -60,10 +60,8 @@ import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;
...
@@ -60,10 +60,8 @@ import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;
* @author Matthias Betz
* @author Matthias Betz
*
*
*/
*/
@SuppressWarnings
(
"unused"
)
public
interface
HealingMethod
{
public
interface
HealingMethod
{
public
HealingID
getID
();
public
HealingID
getID
();
default
boolean
visit
(
CheckError
e
,
ModificationListener
l
)
{
default
boolean
visit
(
CheckError
e
,
ModificationListener
l
)
{
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java
View file @
2d57794b
...
@@ -374,10 +374,12 @@ public abstract class AbstractBuilding extends CityObject {
...
@@ -374,10 +374,12 @@ public abstract class AbstractBuilding extends CityObject {
public
void
addStorey
(
Storey
storey
)
{
public
void
addStorey
(
Storey
storey
)
{
buildingStoreys
.
add
(
storey
);
buildingStoreys
.
add
(
storey
);
storey
.
setParent
(
this
);
}
}
public
void
addBuildingUnit
(
BuildingUnit
buildingUnit
)
{
public
void
addBuildingUnit
(
BuildingUnit
buildingUnit
)
{
buildingUnits
.
add
(
buildingUnit
);
buildingUnits
.
add
(
buildingUnit
);
buildingUnit
.
setParent
(
this
);
}
}
public
void
setGmlObject
(
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuilding
ab
)
{
public
void
setGmlObject
(
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuilding
ab
)
{
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java
View file @
2d57794b
...
@@ -29,8 +29,9 @@ public abstract class AbstractBuildingSubdivision extends CityObject {
...
@@ -29,8 +29,9 @@ public abstract class AbstractBuildingSubdivision extends CityObject {
private
final
List
<
Installation
>
buildingInstallations
=
new
ArrayList
<>(
2
);
private
final
List
<
Installation
>
buildingInstallations
=
new
ArrayList
<>(
2
);
private
final
List
<
BoundarySurface
>
boundarySurfaceList
=
new
ArrayList
<>();
private
final
List
<
BoundarySurface
>
boundarySurfaceList
=
new
ArrayList
<>();
private
final
List
<
BuildingRoom
>
buildingRooms
=
new
ArrayList
<>();
private
final
List
<
BuildingRoom
>
buildingRooms
=
new
ArrayList
<>();
private
final
List
<
BuildingRoomFurniture
>
buildingRoomFurnitureList
=
new
ArrayList
<>();
private
final
List
<
BuildingRoomFurniture
>
buildingRoomFurnitureList
=
new
ArrayList
<>();
private
AbstractBuilding
parent
;
protected
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuildingSubdivision
abs
;
protected
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuildingSubdivision
abs
;
/**
/**
...
@@ -52,6 +53,19 @@ public abstract class AbstractBuildingSubdivision extends CityObject {
...
@@ -52,6 +53,19 @@ public abstract class AbstractBuildingSubdivision extends CityObject {
return
FeatureType
.
BUILDING_SUBDIVISION
;
return
FeatureType
.
BUILDING_SUBDIVISION
;
}
}
public
void
setParent
(
AbstractBuilding
parent
)
{
this
.
parent
=
parent
;
}
public
AbstractBuilding
getParent
()
{
return
parent
;
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
().
getTopLevelCityObject
();
}
@Override
@Override
public
void
unsetGmlGeometries
()
{
public
void
unsetGmlGeometries
()
{
abs
.
setLod1Solid
(
null
);
abs
.
setLod1Solid
(
null
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java
View file @
2d57794b
...
@@ -92,6 +92,11 @@ public abstract class AbstractFurniture extends CityObject {
...
@@ -92,6 +92,11 @@ public abstract class AbstractFurniture extends CityObject {
return
af
;
return
af
;
}
}
@Override
public
CityObject
getTopLevelCityObject
(){
return
parent
;
}
public
void
addBoundarySurface
(
BoundarySurface
boundarySurface
)
{
public
void
addBoundarySurface
(
BoundarySurface
boundarySurface
)
{
boundarySurfaceList
.
add
(
boundarySurface
);
boundarySurfaceList
.
add
(
boundarySurface
);
boundarySurface
.
setParent
(
this
);
boundarySurface
.
setParent
(
this
);
...
@@ -124,7 +129,10 @@ public abstract class AbstractFurniture extends CityObject {
...
@@ -124,7 +129,10 @@ public abstract class AbstractFurniture extends CityObject {
public
void
setParent
(
CityObject
co
)
{
public
void
setParent
(
CityObject
co
)
{
parent
=
co
;
parent
=
co
;
}
}
public
CityObject
getParent
()
{
return
parent
;
}
@Override
@Override
public
void
unsetGmlGeometries
()
{
public
void
unsetGmlGeometries
()
{
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java
View file @
2d57794b
...
@@ -350,6 +350,7 @@ public abstract class AbstractTunnel extends CityObject {
...
@@ -350,6 +350,7 @@ public abstract class AbstractTunnel extends CityObject {
public
void
addTunnelConstructiveElement
(
TunnelConstructiveElement
te
)
{
public
void
addTunnelConstructiveElement
(
TunnelConstructiveElement
te
)
{
tunnelConstructiveElements
.
add
(
te
);
tunnelConstructiveElements
.
add
(
te
);
te
.
setParent
(
this
);
}
}
public
void
addTunnelPart
(
TunnelPart
tunnelPart
)
{
public
void
addTunnelPart
(
TunnelPart
tunnelPart
)
{
...
@@ -368,7 +369,7 @@ public abstract class AbstractTunnel extends CityObject {
...
@@ -368,7 +369,7 @@ public abstract class AbstractTunnel extends CityObject {
return
tunnelHollows
;
return
tunnelHollows
;
}
}
public
List
<
TunnelFurniture
>
getTunnelFurniture
List
()
{
public
List
<
TunnelFurniture
>
getTunnelFurniture
()
{
return
tunnelFurnitureList
;
return
tunnelFurnitureList
;
}
}
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java
View file @
2d57794b
...
@@ -207,6 +207,11 @@ public class BoundarySurface extends CityObject {
...
@@ -207,6 +207,11 @@ public class BoundarySurface extends CityObject {
}
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
().
getTopLevelCityObject
();
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"BoundarySurface [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
return
"BoundarySurface [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java
View file @
2d57794b
...
@@ -52,12 +52,21 @@ public class BridgeConstructiveElement extends CityObject {
...
@@ -52,12 +52,21 @@ public class BridgeConstructiveElement extends CityObject {
private
final
org
.
citygml4j
.
core
.
model
.
bridge
.
BridgeConstructiveElement
gmlBridgeElement
;
private
final
org
.
citygml4j
.
core
.
model
.
bridge
.
BridgeConstructiveElement
gmlBridgeElement
;
private
final
List
<
BoundarySurface
>
boundarySurfaceList
=
new
ArrayList
<>();
private
final
List
<
BoundarySurface
>
boundarySurfaceList
=
new
ArrayList
<>();
private
BridgeObject
parent
;
public
BridgeConstructiveElement
(
org
.
citygml4j
.
core
.
model
.
bridge
.
BridgeConstructiveElement
gmlObject
)
{
public
BridgeConstructiveElement
(
org
.
citygml4j
.
core
.
model
.
bridge
.
BridgeConstructiveElement
gmlObject
)
{
this
.
gmlBridgeElement
=
gmlObject
;
this
.
gmlBridgeElement
=
gmlObject
;
}
}
public
void
setParent
(
BridgeObject
parent
)
{
this
.
parent
=
parent
;
}
public
BridgeObject
getParent
()
{
return
parent
;
}
@Override
@Override
public
Copyable
createCopyInstance
()
{
public
Copyable
createCopyInstance
()
{
return
new
BridgeConstructiveElement
(
gmlBridgeElement
);
return
new
BridgeConstructiveElement
(
gmlBridgeElement
);
...
@@ -244,6 +253,11 @@ public class BridgeConstructiveElement extends CityObject {
...
@@ -244,6 +253,11 @@ public class BridgeConstructiveElement extends CityObject {
}
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
().
getTopLevelCityObject
();
}
@Override
@Override
public
FeatureType
getFeatureType
()
{
public
FeatureType
getFeatureType
()
{
return
FeatureType
.
BRIDGE_CONSTRUCTION_ELEMENT
;
return
FeatureType
.
BRIDGE_CONSTRUCTION_ELEMENT
;
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java
View file @
2d57794b
...
@@ -52,13 +52,28 @@ public class BridgeObject extends CityObject {
...
@@ -52,13 +52,28 @@ public class BridgeObject extends CityObject {
private
final
List
<
BridgeConstructiveElement
>
elements
=
new
ArrayList
<>(
2
);
private
final
List
<
BridgeConstructiveElement
>
elements
=
new
ArrayList
<>(
2
);
private
final
List
<
BoundarySurface
>
boundarySurfaces
=
new
ArrayList
<>(
2
);
private
final
List
<
BoundarySurface
>
boundarySurfaces
=
new
ArrayList
<>(
2
);
private
final
List
<
Installation
>
bridgeInstallations
=
new
ArrayList
<>(
2
);
private
final
List
<
Installation
>
bridgeInstallations
=
new
ArrayList
<>(
2
);
private
final
List
<
BridgeRoomFurniture
>
bridgeFurniture
=
new
ArrayList
<>(
2
);
private
final
List
<
BridgeRoom
>
bridgeRooms
=
new
ArrayList
<>(
2
);
private
final
List
<
BridgeRoom
>
bridgeRooms
=
new
ArrayList
<>(
2
);
private
AbstractBridge
ab
;
private
AbstractBridge
ab
;
private
BridgeType
type
;
private
BridgeType
type
;
private
BridgeObject
parent
;
public
BridgeObject
(
BridgeType
type
,
AbstractBridge
ab
)
{
public
BridgeObject
(
AbstractBridge
ab
)
{
this
.
ab
=
ab
;
this
.
type
=
BridgeType
.
BRIDGE
;
this
.
parent
=
null
;
}
public
BridgeObject
(
AbstractBridge
ab
,
BridgeObject
parent
)
{
this
.
ab
=
ab
;
this
.
type
=
BridgeType
.
BRIDGE_PART
;
this
.
parent
=
parent
;
}
private
BridgeObject
(
BridgeType
type
,
AbstractBridge
ab
,
BridgeObject
parent
)
{
this
.
ab
=
ab
;
this
.
ab
=
ab
;
this
.
type
=
type
;
this
.
type
=
type
;
this
.
parent
=
parent
;
}
}
@Override
@Override
...
@@ -78,6 +93,10 @@ public class BridgeObject extends CityObject {
...
@@ -78,6 +93,10 @@ public class BridgeObject extends CityObject {
return
bridgeRooms
;
return
bridgeRooms
;
}
}
public
List
<
BridgeRoomFurniture
>
getBridgeFurniture
()
{
return
bridgeFurniture
;
}
@Override
@Override
public
void
reCreateGeometries
(
GeometryFactory
factory
,
ParserConfiguration
config
)
{
public
void
reCreateGeometries
(
GeometryFactory
factory
,
ParserConfiguration
config
)
{
for
(
Geometry
geom
:
getGeometries
())
{
for
(
Geometry
geom
:
getGeometries
())
{
...
@@ -107,6 +126,9 @@ public class BridgeObject extends CityObject {
...
@@ -107,6 +126,9 @@ public class BridgeObject extends CityObject {
for
(
BridgeRoom
br
:
bridgeRooms
)
{
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
reCreateGeometries
(
factory
,
config
);
br
.
reCreateGeometries
(
factory
,
config
);
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
reCreateGeometries
(
factory
,
config
);
}
}
}
...
@@ -157,6 +179,11 @@ public class BridgeObject extends CityObject {
...
@@ -157,6 +179,11 @@ public class BridgeObject extends CityObject {
bridgeRooms
.
add
(
room
);
bridgeRooms
.
add
(
room
);
}
}
public
void
addBridgeFurniture
(
BridgeRoomFurniture
furniture
){
bridgeFurniture
.
add
(
furniture
);
furniture
.
setParent
(
this
);
}
@Override
@Override
public
void
clearAllContainedCheckResults
()
{
public
void
clearAllContainedCheckResults
()
{
super
.
clearAllContainedCheckResults
();
super
.
clearAllContainedCheckResults
();
...
@@ -175,6 +202,9 @@ public class BridgeObject extends CityObject {
...
@@ -175,6 +202,9 @@ public class BridgeObject extends CityObject {
for
(
BridgeRoom
br
:
bridgeRooms
)
{
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
clearAllContainedCheckResults
();
br
.
clearAllContainedCheckResults
();
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
clearAllContainedCheckResults
();
}
}
}
@Override
@Override
...
@@ -195,6 +225,9 @@ public class BridgeObject extends CityObject {
...
@@ -195,6 +225,9 @@ public class BridgeObject extends CityObject {
for
(
BridgeRoom
br
:
bridgeRooms
)
{
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
collectContainedErrors
(
errors
);
br
.
collectContainedErrors
(
errors
);
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
collectContainedErrors
(
errors
);
}
}
}
...
@@ -227,6 +260,11 @@ public class BridgeObject extends CityObject {
...
@@ -227,6 +260,11 @@ public class BridgeObject extends CityObject {
return
true
;
return
true
;
}
}
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
if
(
bri
.
containsAnyError
())
{
return
true
;
}
}
return
false
;
return
false
;
}
}
...
@@ -269,6 +307,11 @@ public class BridgeObject extends CityObject {
...
@@ -269,6 +307,11 @@ public class BridgeObject extends CityObject {
return
true
;
return
true
;
}
}
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
if
(
bri
.
containsError
(
checkIdentifier
))
{
return
true
;
}
}
return
false
;
return
false
;
}
}
...
@@ -303,6 +346,9 @@ public class BridgeObject extends CityObject {
...
@@ -303,6 +346,9 @@ public class BridgeObject extends CityObject {
for
(
BridgeRoom
br
:
bridgeRooms
)
{
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
accept
(
c
);
br
.
accept
(
c
);
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
accept
(
c
);
}
}
}
...
@@ -363,9 +409,20 @@ public class BridgeObject extends CityObject {
...
@@ -363,9 +409,20 @@ public class BridgeObject extends CityObject {
for
(
BridgeRoom
br
:
bridgeRooms
)
{
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
unsetGmlGeometries
();
br
.
unsetGmlGeometries
();
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
unsetGmlGeometries
();
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
if
(
parent
!=
null
){
return
parent
.
getTopLevelCityObject
();
}
return
this
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"BridgeObject [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
return
"BridgeObject [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
...
@@ -390,6 +447,12 @@ public class BridgeObject extends CityObject {
...
@@ -390,6 +447,12 @@ public class BridgeObject extends CityObject {
for
(
BridgeObject
part
:
parts
)
{
for
(
BridgeObject
part
:
parts
)
{
part
.
prepareForChecking
();
part
.
prepareForChecking
();
}
}
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
prepareForChecking
();
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
prepareForChecking
();
}
}
}
@Override
@Override
...
@@ -414,6 +477,9 @@ public class BridgeObject extends CityObject {
...
@@ -414,6 +477,9 @@ public class BridgeObject extends CityObject {
for
(
BridgeRoom
br
:
bridgeRooms
)
{
for
(
BridgeRoom
br
:
bridgeRooms
)
{
br
.
clearMetaInformation
();
br
.
clearMetaInformation
();
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
bri
.
clearMetaInformation
();
}
}
}
...
@@ -440,6 +506,10 @@ public class BridgeObject extends CityObject {
...
@@ -440,6 +506,10 @@ public class BridgeObject extends CityObject {
handler
.
addInstance
(
br
);
handler
.
addInstance
(
br
);
}
}
for
(
BridgeRoomFurniture
bri
:
bridgeFurniture
)
{
handler
.
addInstance
(
bri
);
}
}
}
public
void
anonymize
()
{
public
void
anonymize
()
{
...
@@ -483,6 +553,10 @@ public class BridgeObject extends CityObject {
...
@@ -483,6 +553,10 @@ public class BridgeObject extends CityObject {
getBridgeRooms
().
add
(
handler
.
getCopyInstance
(
br
));
getBridgeRooms
().
add
(
handler
.
getCopyInstance
(
br
));
}
}
for
(
BridgeRoomFurniture
bri
:
originalBo
.
bridgeFurniture
)
{
getBridgeFurniture
().
add
(
handler
.
getCopyInstance
(
bri
));
}
}
}
public
List
<
BoundarySurface
>
getBoundarySurfaces
()
{
public
List
<
BoundarySurface
>
getBoundarySurfaces
()
{
...
@@ -491,11 +565,12 @@ public class BridgeObject extends CityObject {
...
@@ -491,11 +565,12 @@ public class BridgeObject extends CityObject {
public
void
addConstructiveElement
(
BridgeConstructiveElement
element
)
{
public
void
addConstructiveElement
(
BridgeConstructiveElement
element
)
{
getConstructiveElements
().
add
(
element
);
getConstructiveElements
().
add
(
element
);
element
.
setParent
(
this
);
}
}
@Override
@Override
public
Copyable
createCopyInstance
()
{
public
Copyable
createCopyInstance
()
{
return
new
BridgeObject
(
type
,
ab
);
return
new
BridgeObject
(
type
,
ab
,
parent
);
}
}
public
List
<
BridgeObject
>
getParts
()
{
public
List
<
BridgeObject
>
getParts
()
{
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeRoom.java
View file @
2d57794b
...
@@ -37,6 +37,11 @@ public class BridgeRoom extends AbstractRoom {
...
@@ -37,6 +37,11 @@ public class BridgeRoom extends AbstractRoom {
parent
=
handler
.
getCopyInstance
(
oRoom
.
getParent
());
parent
=
handler
.
getCopyInstance
(
oRoom
.
getParent
());
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
();
}
@Override
@Override
public
void
collectInstances
(
CopyHandler
handler
)
{
public
void
collectInstances
(
CopyHandler
handler
)
{
super
.
collectInstances
(
handler
);
super
.
collectInstances
(
handler
);
...
...
Prev
1
2
3
4
5
…
13
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