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
0b280dc5
Commit
0b280dc5
authored
Nov 15, 2024
by
Riegel
Browse files
Add getTopLevelCityObject method to CityObjects
parent
3dba0e5e
Changes
29
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java
View file @
0b280dc5
...
@@ -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 @
0b280dc5
...
@@ -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 @
0b280dc5
...
@@ -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
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java
View file @
0b280dc5
...
@@ -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
)
{
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java
View file @
0b280dc5
...
@@ -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 @
0b280dc5
...
@@ -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 @
0b280dc5
...
@@ -56,10 +56,24 @@ public class BridgeObject extends CityObject {
...
@@ -56,10 +56,24 @@ public class BridgeObject extends CityObject {
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
...
@@ -401,6 +415,14 @@ public class BridgeObject extends CityObject {
...
@@ -401,6 +415,14 @@ public class BridgeObject extends CityObject {
}
}
@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
()
+
"]"
;
...
@@ -543,11 +565,12 @@ public class BridgeObject extends CityObject {
...
@@ -543,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 @
0b280dc5
...
@@ -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
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java
View file @
0b280dc5
...
@@ -52,6 +52,11 @@ public class Building extends AbstractBuilding {
...
@@ -52,6 +52,11 @@ public class Building extends AbstractBuilding {
}
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
@Override
@Override
public
void
accept
(
Check
c
)
{
public
void
accept
(
Check
c
)
{
super
.
accept
(
c
);
super
.
accept
(
c
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingPart.java
View file @
0b280dc5
...
@@ -42,6 +42,11 @@ public class BuildingPart extends AbstractBuilding {
...
@@ -42,6 +42,11 @@ public class BuildingPart extends AbstractBuilding {
return
parent
;
return
parent
;
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
().
getTopLevelCityObject
();
}
@Override
@Override
public
FeatureType
getFeatureType
()
{
public
FeatureType
getFeatureType
()
{
return
FeatureType
.
BUILDING_PART
;
return
FeatureType
.
BUILDING_PART
;
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingRoom.java
View file @
0b280dc5
...
@@ -50,6 +50,11 @@ public class BuildingRoom extends AbstractRoom {
...
@@ -50,6 +50,11 @@ public class BuildingRoom extends AbstractRoom {
parent
=
handler
.
getCopyInstance
(
oRoom
.
getParent
());
parent
=
handler
.
getCopyInstance
(
oRoom
.
getParent
());
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
().
getTopLevelCityObject
();
}
@Override
@Override
public
void
collectInstances
(
CopyHandler
handler
)
{
public
void
collectInstances
(
CopyHandler
handler
)
{
super
.
collectInstances
(
handler
);
super
.
collectInstances
(
handler
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java
View file @
0b280dc5
...
@@ -50,6 +50,11 @@ public class CityFurniture extends CityObject {
...
@@ -50,6 +50,11 @@ public class CityFurniture extends CityObject {
cgmlCityFurniture
.
getDeprecatedProperties
().
setLod4Geometry
(
null
);
cgmlCityFurniture
.
getDeprecatedProperties
().
setLod4Geometry
(
null
);
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
@Override
@Override
public
void
reCreateGeometries
(
GeometryFactory
factory
,
ParserConfiguration
config
)
{
public
void
reCreateGeometries
(
GeometryFactory
factory
,
ParserConfiguration
config
)
{
for
(
Geometry
geom
:
getGeometries
())
{
for
(
Geometry
geom
:
getGeometries
())
{
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java
View file @
0b280dc5
...
@@ -102,6 +102,11 @@ public abstract class CityObject extends GmlElement {
...
@@ -102,6 +102,11 @@ public abstract class CityObject extends GmlElement {
return
highestLodGeometry
;
return
highestLodGeometry
;
}
}
/**
* Returns the top-level CityObject (like Building or Tunnel) belonging to this object.
*/
public
abstract
CityObject
getTopLevelCityObject
();
public
void
addGenericAttribute
(
GenericAttribute
genericAttribute
)
{
public
void
addGenericAttribute
(
GenericAttribute
genericAttribute
)
{
genericAttributeList
.
add
(
genericAttribute
);
genericAttributeList
.
add
(
genericAttribute
);
}
}
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java
View file @
0b280dc5
...
@@ -213,6 +213,11 @@ public class GenericCityObject extends CityObject {
...
@@ -213,6 +213,11 @@ public class GenericCityObject extends CityObject {
}
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
public
void
setGmlObject
(
org
.
citygml4j
.
core
.
model
.
generics
.
GenericOccupiedSpace
gos
)
{
public
void
setGmlObject
(
org
.
citygml4j
.
core
.
model
.
generics
.
GenericOccupiedSpace
gos
)
{
this
.
cgmlGos
=
gos
;
this
.
cgmlGos
=
gos
;
}
}
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java
View file @
0b280dc5
...
@@ -195,6 +195,11 @@ public class Installation extends CityObject {
...
@@ -195,6 +195,11 @@ public class Installation extends CityObject {
}
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
getParent
().
getTopLevelCityObject
();
}
private
void
removeGeometriesFromBridgeInstallation
(
BridgeInstallation
localBi
)
{
private
void
removeGeometriesFromBridgeInstallation
(
BridgeInstallation
localBi
)
{
localBi
.
getDeprecatedProperties
().
setLod2Geometry
(
null
);
localBi
.
getDeprecatedProperties
().
setLod2Geometry
(
null
);
localBi
.
getDeprecatedProperties
().
setLod3Geometry
(
null
);
localBi
.
getDeprecatedProperties
().
setLod3Geometry
(
null
);
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java
View file @
0b280dc5
...
@@ -105,6 +105,11 @@ public class LandObject extends CityObject {
...
@@ -105,6 +105,11 @@ public class LandObject extends CityObject {
lu
.
getDeprecatedProperties
().
setLod4MultiSurface
(
null
);
lu
.
getDeprecatedProperties
().
setLod4MultiSurface
(
null
);
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
public
void
setGmlObject
(
LandUse
landUse
)
{
public
void
setGmlObject
(
LandUse
landUse
)
{
lu
=
landUse
;
lu
=
landUse
;
}
}
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java
View file @
0b280dc5
...
@@ -135,6 +135,11 @@ public class Opening extends CityObject {
...
@@ -135,6 +135,11 @@ public class Opening extends CityObject {
ao
.
getDeprecatedProperties
().
setLod4MultiSurface
(
null
);
ao
.
getDeprecatedProperties
().
setLod4MultiSurface
(
null
);
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
partOf
.
getTopLevelCityObject
();
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"Opening [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
return
"Opening [type="
+
type
+
", id="
+
getGmlId
()
+
"]"
;
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java
View file @
0b280dc5
...
@@ -146,6 +146,11 @@ public class ReliefObject extends CityObject {
...
@@ -146,6 +146,11 @@ public class ReliefObject extends CityObject {
// no geometries
// no geometries
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
@Override
@Override
public
FeatureType
getFeatureType
()
{
public
FeatureType
getFeatureType
()
{
return
FeatureType
.
LAND
;
return
FeatureType
.
LAND
;
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java
View file @
0b280dc5
...
@@ -91,6 +91,11 @@ public class TinObject extends CityObject {
...
@@ -91,6 +91,11 @@ public class TinObject extends CityObject {
gmlRelief
.
setTin
(
null
);
gmlRelief
.
setTin
(
null
);
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
@Override
@Override
public
FeatureType
getFeatureType
()
{
public
FeatureType
getFeatureType
()
{
return
FeatureType
.
LAND
;
return
FeatureType
.
LAND
;
...
...
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationObject.java
View file @
0b280dc5
...
@@ -267,6 +267,11 @@ public class TransportationObject extends CityObject {
...
@@ -267,6 +267,11 @@ public class TransportationObject extends CityObject {
}
}
}
}
@Override
public
CityObject
getTopLevelCityObject
()
{
return
this
;
}
public
void
setGmlObject
(
AbstractCityObject
tc
)
{
public
void
setGmlObject
(
AbstractCityObject
tc
)
{
ato
=
tc
;
ato
=
tc
;
}
}
...
...
Prev
1
2
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