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
c949352d
Commit
c949352d
authored
6 months ago
by
Riegel
Browse files
Options
Download
Email Patches
Plain Diff
Add rendering of Storeys and BuildingUnits
parent
7d24a81b
master
107-opengl-view
dev
dev_cpp_code_conversion
dev_gui_features
dev_gui_features_zip_loading
dev_visitor_rework
3.17.1
3.17.0
3.16.0
archive/dev_gui_features_zip_loading
archive/dev_citygml3
2 merge requests
!11
CityDoctor Release Version 3.16.0
,
!10
CityGML 3.0. Support
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java
+70
-26
...stuttgart/citydoctor2/datastructure/AbstractBuilding.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java
+66
-0
...rt/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
+39
-0
...e/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
+50
-0
.../main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllBuildingUnitsNode.java
+46
-0
.../stuttgart/citydoctor2/gui/tree/AllBuildingUnitsNode.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllStoreysNode.java
+46
-0
...de/hft/stuttgart/citydoctor2/gui/tree/AllStoreysNode.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/BuildingUnitNode.java
+38
-0
.../hft/stuttgart/citydoctor2/gui/tree/BuildingUnitNode.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/StoreyNode.java
+37
-0
...ava/de/hft/stuttgart/citydoctor2/gui/tree/StoreyNode.java
with
392 additions
and
26 deletions
+392
-26
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java
+
70
-
26
View file @
c949352d
...
...
@@ -56,7 +56,8 @@ public abstract class AbstractBuilding extends CityObject {
private
final
List
<
Installation
>
buildingInstallations
=
new
ArrayList
<>(
2
);
private
final
List
<
BoundarySurface
>
boundarySurfaceList
=
new
ArrayList
<>();
private
final
List
<
BuildingRoom
>
buildingRooms
=
new
ArrayList
<>();
private
final
List
<
AbstractBuildingSubdivision
>
buildingSubdivisions
=
new
ArrayList
<>();
private
final
List
<
Storey
>
buildingStoreys
=
new
ArrayList
<>();
private
final
List
<
BuildingUnit
>
buildingUnits
=
new
ArrayList
<>();
private
final
List
<
BuildingRoomFurniture
>
buildingRoomFurnitureList
=
new
ArrayList
<>();
private
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuilding
ab
;
...
...
@@ -102,8 +103,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
unsetGmlGeometries
();
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
unsetGmlGeometries
();
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
unsetGmlGeometries
();
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
unsetGmlGeometries
();
}
}
...
...
@@ -130,8 +134,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
reCreateGeometries
(
factory
,
config
);
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
reCreateGeometries
(
factory
,
config
);
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
reCreateGeometries
(
factory
,
config
);
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
reCreateGeometries
(
factory
,
config
);
}
}
...
...
@@ -208,8 +215,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
accept
(
c
);
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
accept
(
c
);
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
accept
(
c
);
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
accept
(
c
);
}
}
...
...
@@ -228,8 +238,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
collectContainedErrors
(
errors
);
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
collectContainedErrors
(
errors
);
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
collectContainedErrors
(
errors
);
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
collectContainedErrors
(
errors
);
}
}
...
...
@@ -248,8 +261,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
clearAllContainedCheckResults
();
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
clearAllContainedCheckResults
();
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
clearAllContainedCheckResults
();
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
clearAllContainedCheckResults
();
}
}
...
...
@@ -279,8 +295,13 @@ public abstract class AbstractBuilding extends CityObject {
return
true
;
}
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
if
(
abs
.
containsError
(
checkIdentifier
))
{
for
(
Storey
storey
:
buildingStoreys
)
{
if
(
storey
.
containsError
(
checkIdentifier
))
{
return
true
;
}
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
if
(
bu
.
containsError
(
checkIdentifier
))
{
return
true
;
}
}
...
...
@@ -313,8 +334,13 @@ public abstract class AbstractBuilding extends CityObject {
return
true
;
}
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
if
(
abs
.
containsAnyError
())
{
for
(
Storey
storey
:
buildingStoreys
)
{
if
(
storey
.
containsAnyError
())
{
return
true
;
}
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
if
(
bu
.
containsAnyError
())
{
return
true
;
}
}
...
...
@@ -345,8 +371,12 @@ public abstract class AbstractBuilding extends CityObject {
roomFurniture
.
setParent
(
this
);
}
public
void
addAbstractBuildingSubdivision
(
AbstractBuildingSubdivision
abs
)
{
buildingSubdivisions
.
add
(
abs
);
public
void
addStorey
(
Storey
storey
)
{
buildingStoreys
.
add
(
storey
);
}
public
void
addBuildingUnit
(
BuildingUnit
buildingUnit
)
{
buildingUnits
.
add
(
buildingUnit
);
}
public
void
setGmlObject
(
org
.
citygml4j
.
core
.
model
.
building
.
AbstractBuilding
ab
)
{
...
...
@@ -365,8 +395,12 @@ public abstract class AbstractBuilding extends CityObject {
return
buildingRoomFurnitureList
;
}
public
List
<
AbstractBuildingSubdivision
>
getBuildingSubdivisions
()
{
return
buildingSubdivisions
;
public
List
<
Storey
>
getBuildingStoreys
()
{
return
buildingStoreys
;
}
public
List
<
BuildingUnit
>
getBuildingUnits
()
{
return
buildingUnits
;
}
@Override
...
...
@@ -384,8 +418,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
prepareForChecking
();
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
prepareForChecking
();
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
prepareForChecking
();
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
prepareForChecking
();
}
}
...
...
@@ -404,8 +441,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
bfr
:
buildingRoomFurnitureList
)
{
bfr
.
clearMetaInformation
();
}
for
(
AbstractBuildingSubdivision
abs
:
buildingSubdivisions
)
{
abs
.
clearMetaInformation
();
for
(
Storey
storey
:
buildingStoreys
)
{
storey
.
clearMetaInformation
();
}
for
(
BuildingUnit
bu
:
buildingUnits
)
{
bu
.
clearMetaInformation
();
}
}
...
...
@@ -416,7 +456,8 @@ public abstract class AbstractBuilding extends CityObject {
handler
.
addInstance
(
buildingInstallations
);
handler
.
addInstance
(
buildingRooms
);
handler
.
addInstance
(
buildingRoomFurnitureList
);
handler
.
addInstance
(
buildingSubdivisions
);
handler
.
addInstance
(
buildingStoreys
);
handler
.
addInstance
(
buildingUnits
);
}
@Override
...
...
@@ -435,8 +476,11 @@ public abstract class AbstractBuilding extends CityObject {
for
(
BuildingRoomFurniture
originalBFR
:
originalAb
.
buildingRoomFurnitureList
)
{
buildingRoomFurnitureList
.
add
(
handler
.
getCopyInstance
(
originalBFR
));
}
for
(
AbstractBuildingSubdivision
originalBSub
:
originalAb
.
buildingSubdivisions
)
{
buildingSubdivisions
.
add
(
handler
.
getCopyInstance
(
originalBSub
));
for
(
Storey
originalBStoreys
:
originalAb
.
buildingStoreys
)
{
buildingStoreys
.
add
(
handler
.
getCopyInstance
(
originalBStoreys
));
}
for
(
BuildingUnit
originalBun
:
originalAb
.
buildingUnits
)
{
buildingUnits
.
add
(
handler
.
getCopyInstance
(
originalBun
));
}
ab
=
originalAb
.
ab
;
}
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/mapper/citygml3/Citygml3FeatureMapper.java
+
66
-
0
View file @
c949352d
...
...
@@ -41,6 +41,8 @@ import org.citygml4j.core.model.bridge.BridgePart;
import
org.citygml4j.core.model.bridge.BridgePartProperty
;
import
org.citygml4j.core.model.building.*
;
import
org.citygml4j.core.model.building.BuildingFurniture
;
import
org.citygml4j.core.model.building.BuildingUnit
;
import
org.citygml4j.core.model.building.Storey
;
import
org.citygml4j.core.model.construction.AbstractConstruction
;
import
org.citygml4j.core.model.core.AbstractCityObject
;
import
org.citygml4j.core.model.core.AbstractFeatureWithLifespan
;
...
...
@@ -605,6 +607,22 @@ public class Citygml3FeatureMapper extends ObjectWalker {
cdBuilding
.
addBuildingRoom
(
br
);
}
for
(
AbstractBuildingSubdivisionProperty
abs
:
gmlAb
.
getBuildingSubdivisions
())
{
var
gmlABS
=
abs
.
getObject
();
if
(
gmlABS
==
null
)
{
continue
;
}
if
(
gmlABS
instanceof
Storey
gmlStorey
)
{
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
Storey
storey
=
mapBuildingStorey
(
gmlStorey
);
cdBuilding
.
addStorey
(
storey
);
}
else
if
(
gmlABS
instanceof
BuildingUnit
gmlBU
){
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
BuildingUnit
bu
=
mapBuildingUnit
(
gmlBU
);
cdBuilding
.
addBuildingUnit
(
bu
);
}
}
SurfaceMapper
surfaceMapper
=
new
SurfaceMapper
(
polygonMap
,
references
,
vertexMap
,
config
);
for
(
AbstractSpaceBoundaryProperty
surfaceProp
:
gmlAb
.
getBoundaries
())
{
if
(!
surfaceProp
.
isSetObject
())
{
...
...
@@ -711,6 +729,54 @@ public class Citygml3FeatureMapper extends ObjectWalker {
}
private
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
Storey
mapBuildingStorey
(
Storey
gmlStorey
){
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
Storey
storey
=
new
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
Storey
();
storey
.
setGmlObject
(
gmlStorey
);
mapAbstractSpace
(
gmlStorey
,
storey
);
storey
.
unsetGmlGeometries
();
SurfaceMapper
surfaceMapper
=
new
SurfaceMapper
(
polygonMap
,
references
,
vertexMap
,
config
);
for
(
AbstractSpaceBoundaryProperty
surfaceProp
:
gmlStorey
.
getBoundaries
())
{
if
(!
surfaceProp
.
isSetObject
())
{
continue
;
}
AbstractSpaceBoundary
surface
=
surfaceProp
.
getObject
();
surface
.
accept
(
surfaceMapper
);
}
for
(
BoundarySurface
bs
:
surfaceMapper
.
getSurfaces
())
{
storey
.
addBoundarySurface
(
bs
);
for
(
Geometry
geom
:
bs
.
getGeometries
())
{
for
(
Polygon
p
:
geom
.
getPolygons
())
{
p
.
setPartOfSurface
(
bs
);
}
}
}
return
storey
;
}
private
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
BuildingUnit
mapBuildingUnit
(
BuildingUnit
gmlBU
){
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
BuildingUnit
bu
=
new
de
.
hft
.
stuttgart
.
citydoctor2
.
datastructure
.
BuildingUnit
();
bu
.
setGmlObject
(
gmlBU
);
mapAbstractSpace
(
gmlBU
,
bu
);
bu
.
unsetGmlGeometries
();
SurfaceMapper
surfaceMapper
=
new
SurfaceMapper
(
polygonMap
,
references
,
vertexMap
,
config
);
for
(
AbstractSpaceBoundaryProperty
surfaceProp
:
gmlBU
.
getBoundaries
())
{
if
(!
surfaceProp
.
isSetObject
())
{
continue
;
}
AbstractSpaceBoundary
surface
=
surfaceProp
.
getObject
();
surface
.
accept
(
surfaceMapper
);
}
for
(
BoundarySurface
bs
:
surfaceMapper
.
getSurfaces
())
{
bu
.
addBoundarySurface
(
bs
);
for
(
Geometry
geom
:
bs
.
getGeometries
())
{
for
(
Polygon
p
:
geom
.
getPolygons
())
{
p
.
setPartOfSurface
(
bs
);
}
}
}
return
bu
;
}
private
void
updatePartOfSurface
(
AbstractBuilding
cdBuilding
,
SurfaceMapper
surfaceMapper
)
{
for
(
BoundarySurface
bs
:
surfaceMapper
.
getSurfaces
())
{
cdBuilding
.
addBoundarySurface
(
bs
);
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
+
39
-
0
View file @
c949352d
...
...
@@ -433,6 +433,8 @@ public class CityDoctorController {
createBuildingInstallationNodes
(
b
,
item
);
createBuildingRoomNodes
(
b
,
item
);
createBuildingFurnitureNodes
(
b
,
item
);
createBuildingStoreyNodes
(
b
,
item
);
createBuildingUnitNodes
(
b
,
item
);
createBuildingPartNodes
(
b
,
item
);
}
}
...
...
@@ -541,6 +543,43 @@ public class CityDoctorController {
}
private
void
createBuildingStoreyNodes
(
Building
ab
,
TreeItem
<
Renderable
>
root
){
List
<
Storey
>
storeys
=
ab
.
getBuildingStoreys
();
if
(
storeys
.
isEmpty
())
{
return
;
}
AllStoreysNode
allSNode
=
new
AllStoreysNode
(
storeys
);
TreeItem
<
Renderable
>
allSNodeTextItem
=
new
TreeItem
<>(
allSNode
);
root
.
getChildren
().
add
(
allSNodeTextItem
);
for
(
Storey
storey
:
storeys
)
{
StoreyNode
storeyNode
=
new
StoreyNode
(
storey
);
TreeItem
<
Renderable
>
storeyNodeTextItem
=
new
TreeItem
<>(
storeyNode
);
storeyNodeTextItem
.
setExpanded
(
true
);
allSNodeTextItem
.
getChildren
().
add
(
storeyNodeTextItem
);
createGeometryNodes
(
storey
,
storeyNodeTextItem
);
createBoundarySurfaceNodes
(
storey
.
getBoundarySurfaces
(),
storeyNodeTextItem
);
}
}
public
void
createBuildingUnitNodes
(
Building
ab
,
TreeItem
<
Renderable
>
root
)
{
List
<
BuildingUnit
>
buildingUnits
=
ab
.
getBuildingUnits
();
if
(
buildingUnits
.
isEmpty
())
{
return
;
}
AllBuildingUnitsNode
allSNode
=
new
AllBuildingUnitsNode
(
buildingUnits
);
TreeItem
<
Renderable
>
allSNodeTextItem
=
new
TreeItem
<>(
allSNode
);
root
.
getChildren
().
add
(
allSNodeTextItem
);
for
(
BuildingUnit
buildingUnit
:
buildingUnits
)
{
BuildingUnitNode
buildingUnitNode
=
new
BuildingUnitNode
(
buildingUnit
);
TreeItem
<
Renderable
>
storeyNodeTextItem
=
new
TreeItem
<>(
buildingUnitNode
);
storeyNodeTextItem
.
setExpanded
(
true
);
allSNodeTextItem
.
getChildren
().
add
(
storeyNodeTextItem
);
createGeometryNodes
(
buildingUnit
,
storeyNodeTextItem
);
createBoundarySurfaceNodes
(
buildingUnit
.
getBoundarySurfaces
(),
storeyNodeTextItem
);
}
}
private
void
createBuildingFurnitureNodes
(
Building
ab
,
TreeItem
<
Renderable
>
root
)
{
createFurnitureNodes
(
ab
.
getBuildingRoomFurnitureList
(),
root
);
}
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
+
50
-
0
View file @
c949352d
...
...
@@ -288,6 +288,56 @@ public class Renderer {
return
polygons
;
}
public
void
render
(
Storey
storey
){
refresher
=
()
->
{
Set
<
ConcretePolygon
>
setupStoreyPolygons
=
setupStoreyPolygons
(
storey
);
mainWindow
.
zoomOutForBoundingBox
(
BoundingBox
.
of
(
setupStoreyPolygons
));
render
(
setupStoreyPolygons
);
Platform
.
runLater
(()
->
{
errorUpdater
=
()
->
displayErrors
(
storey
);
errorUpdater
.
run
();
});
};
refresher
.
run
();
}
public
Set
<
ConcretePolygon
>
setupStoreyPolygons
(
Storey
storey
)
{
Set
<
ConcretePolygon
>
polygons
=
new
HashSet
<>();
addPolygons
(
storey
,
polygons
);
for
(
BoundarySurface
bs
:
storey
.
getBoundarySurfaces
())
{
addPolygons
(
bs
,
polygons
);
for
(
Opening
op
:
bs
.
getOpenings
())
{
addPolygons
(
op
,
polygons
);
}
}
return
polygons
;
}
public
void
render
(
BuildingUnit
buildingUnit
){
refresher
=
()
->
{
Set
<
ConcretePolygon
>
setupBuildingUnitPolgons
=
setupBuildingUnitPolygons
(
buildingUnit
);
mainWindow
.
zoomOutForBoundingBox
(
BoundingBox
.
of
(
setupBuildingUnitPolgons
));
render
(
setupBuildingUnitPolgons
);
Platform
.
runLater
(()
->
{
errorUpdater
=
()
->
displayErrors
(
buildingUnit
);
errorUpdater
.
run
();
});
};
refresher
.
run
();
}
public
Set
<
ConcretePolygon
>
setupBuildingUnitPolygons
(
BuildingUnit
buildingUnit
)
{
Set
<
ConcretePolygon
>
polygons
=
new
HashSet
<>();
addPolygons
(
buildingUnit
,
polygons
);
for
(
BoundarySurface
bs
:
buildingUnit
.
getBoundarySurfaces
())
{
addPolygons
(
bs
,
polygons
);
for
(
Opening
op
:
bs
.
getOpenings
())
{
addPolygons
(
op
,
polygons
);
}
}
return
polygons
;
}
public
void
render
(
BridgeObject
bridge
)
{
refresher
=
()
->
{
Set
<
ConcretePolygon
>
setupBridgePolygons
=
setupBridgePolygons
(
bridge
);
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllBuildingUnitsNode.java
0 → 100644
+
46
-
0
View file @
c949352d
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.BuildingUnit
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
import
java.util.List
;
public
class
AllBuildingUnitsNode
extends
Renderable
{
private
final
List
<
BuildingUnit
>
buildingUnits
;
public
AllBuildingUnitsNode
(
List
<
BuildingUnit
>
buildingUnits
)
{
this
.
buildingUnits
=
buildingUnits
;
}
@Override
public
String
getText
()
{
return
"Building Units"
;
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
clearCurrentRender
();
}
@Override
public
void
refreshTextColor
()
{
boolean
wasChecked
=
false
;
for
(
BuildingUnit
buildingUnit
:
buildingUnits
)
{
if
(
buildingUnit
.
isValidated
())
{
wasChecked
=
true
;
if
(
buildingUnit
.
containsAnyError
())
{
setStatus
(
CheckStatus
.
ERROR
);
return
;
}
}
}
if
(
wasChecked
)
{
setStatus
(
CheckStatus
.
OK
);
}
else
{
setStatus
(
CheckStatus
.
NOT_CHECKED
);
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllStoreysNode.java
0 → 100644
+
46
-
0
View file @
c949352d
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.Storey
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
import
java.util.List
;
public
class
AllStoreysNode
extends
Renderable
{
private
final
List
<
Storey
>
storeys
;
public
AllStoreysNode
(
List
<
Storey
>
storeys
)
{
this
.
storeys
=
storeys
;
}
@Override
public
String
getText
()
{
return
"Building Storeys"
;
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
clearCurrentRender
();
}
@Override
public
void
refreshTextColor
()
{
boolean
wasChecked
=
false
;
for
(
Storey
storey
:
storeys
)
{
if
(
storey
.
isValidated
())
{
wasChecked
=
true
;
if
(
storey
.
containsAnyError
())
{
setStatus
(
CheckStatus
.
ERROR
);
return
;
}
}
}
if
(
wasChecked
)
{
setStatus
(
CheckStatus
.
OK
);
}
else
{
setStatus
(
CheckStatus
.
NOT_CHECKED
);
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/BuildingUnitNode.java
0 → 100644
+
38
-
0
View file @
c949352d
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.BuildingUnit
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
public
class
BuildingUnitNode
extends
Renderable
{
private
final
BuildingUnit
buildingUnit
;
public
BuildingUnitNode
(
BuildingUnit
buildingUnit
)
{
this
.
buildingUnit
=
buildingUnit
;
}
@Override
public
String
getText
()
{
return
buildingUnit
.
getGmlId
().
getGmlString
();
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
render
(
buildingUnit
);
}
@Override
public
void
refreshTextColor
()
{
if
(!
buildingUnit
.
isValidated
())
{
setStatus
(
CheckStatus
.
NOT_CHECKED
);
}
else
if
(
buildingUnit
.
containsAnyError
())
{
setStatus
(
CheckStatus
.
ERROR
);
}
else
{
setStatus
(
CheckStatus
.
OK
);
}
}
}
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/StoreyNode.java
0 → 100644
+
37
-
0
View file @
c949352d
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.Storey
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
public
class
StoreyNode
extends
Renderable
{
private
final
Storey
storey
;
public
StoreyNode
(
Storey
storey
)
{
this
.
storey
=
storey
;
}
@Override
public
String
getText
()
{
return
storey
.
getGmlId
().
getGmlString
();
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
render
(
storey
);
}
@Override
public
void
refreshTextColor
()
{
if
(!
storey
.
isValidated
())
{
setStatus
(
CheckStatus
.
NOT_CHECKED
);
}
else
if
(
storey
.
containsAnyError
())
{
setStatus
(
CheckStatus
.
ERROR
);
}
else
{
setStatus
(
CheckStatus
.
OK
);
}
}
}
This diff is collapsed.
Click to expand it.
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