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
43f226db
Commit
43f226db
authored
5 months ago
by
Riegel
Browse files
Options
Download
Email Patches
Plain Diff
Add Rendering support for Furniture and Room objects
parent
fbcd8f92
master
107-opengl-view
dev
dev_cpp_code_conversion
dev_gui_features
dev_gui_features_zip_loading
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
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java
+77
-0
...tuttgart/citydoctor2/datastructure/AbstractFurniture.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
+49
-44
...e/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
+70
-24
.../main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllFurnitureNode.java
+45
-0
.../hft/stuttgart/citydoctor2/gui/tree/AllFurnitureNode.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllRoomsNode.java
+45
-0
...a/de/hft/stuttgart/citydoctor2/gui/tree/AllRoomsNode.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/FurnitureNode.java
+36
-0
.../de/hft/stuttgart/citydoctor2/gui/tree/FurnitureNode.java
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/RoomNode.java
+36
-0
.../java/de/hft/stuttgart/citydoctor2/gui/tree/RoomNode.java
with
358 additions
and
68 deletions
+358
-68
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java
+
77
-
0
View file @
43f226db
package
de.hft.stuttgart.citydoctor2.datastructure
;
import
de.hft.stuttgart.citydoctor2.check.Check
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.CheckId
;
import
de.hft.stuttgart.citydoctor2.parser.ParserConfiguration
;
import
de.hft.stuttgart.citydoctor2.utils.CityGmlUtils
;
import
de.hft.stuttgart.citydoctor2.utils.CopyHandler
;
...
...
@@ -28,6 +31,63 @@ public abstract class AbstractFurniture extends CityObject{
private
org
.
citygml4j
.
core
.
model
.
construction
.
AbstractFurniture
af
;
@Override
public
void
accept
(
Check
c
)
{
super
.
accept
(
c
);
if
(
c
.
canExecute
(
this
))
{
c
.
check
(
this
);
}
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
boundarySurface
.
accept
(
c
);
}
}
@Override
public
void
collectContainedErrors
(
List
<
CheckError
>
errors
){
super
.
collectContainedErrors
(
errors
);
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
boundarySurface
.
collectContainedErrors
(
errors
);
}
}
@Override
public
void
clearAllContainedCheckResults
(){
super
.
clearAllContainedCheckResults
();
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
boundarySurface
.
clearAllContainedCheckResults
();
}
}
@Override
public
boolean
containsError
(
CheckId
checkIdentifier
){
boolean
hasError
=
super
.
containsError
(
checkIdentifier
);
if
(
hasError
){
return
true
;
}
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
if
(
boundarySurface
.
containsError
(
checkIdentifier
)){
return
true
;
}
}
return
false
;
}
@Override
public
boolean
containsAnyError
(){
boolean
hasError
=
super
.
containsAnyError
();
if
(
hasError
){
return
true
;
}
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
if
(
boundarySurface
.
containsAnyError
()){
return
true
;
}
}
return
false
;
}
@Override
public
org
.
citygml4j
.
core
.
model
.
construction
.
AbstractFurniture
getGmlObject
(){
return
af
;
...
...
@@ -107,6 +167,23 @@ public abstract class AbstractFurniture extends CityObject{
}
@Override
public
void
prepareForChecking
(){
super
.
prepareForChecking
();
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
boundarySurface
.
prepareForChecking
();
}
}
@Override
public
void
clearMetaInformation
()
{
super
.
clearMetaInformation
();
for
(
BoundarySurface
boundarySurface
:
boundarySurfaceList
)
{
boundarySurface
.
clearMetaInformation
();
}
}
@Override
public
FeatureType
getFeatureType
()
{
return
FeatureType
.
FURNITURE
;
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
+
49
-
44
View file @
43f226db
...
...
@@ -12,6 +12,8 @@ import java.util.StringJoiner;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.function.Function
;
import
de.hft.stuttgart.citydoctor2.datastructure.*
;
import
de.hft.stuttgart.citydoctor2.gui.tree.*
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.citygml4j.core.model.core.CityModel
;
...
...
@@ -22,52 +24,8 @@ import de.hft.stuttgart.citydoctor2.check.Checker;
import
de.hft.stuttgart.citydoctor2.check.ErrorId
;
import
de.hft.stuttgart.citydoctor2.check.ValidationConfiguration
;
import
de.hft.stuttgart.citydoctor2.check.error.SchematronError
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BridgeConstructiveElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.BridgeObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.Building
;
import
de.hft.stuttgart.citydoctor2.datastructure.Installation
;
import
de.hft.stuttgart.citydoctor2.datastructure.BuildingPart
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.FeatureType
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.LandObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.Opening
;
import
de.hft.stuttgart.citydoctor2.datastructure.ReliefObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.TinObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.TransportationObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vegetation
;
import
de.hft.stuttgart.citydoctor2.exceptions.CityDoctorWriteException
;
import
de.hft.stuttgart.citydoctor2.gui.table.ErrorStat
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllBoundarySurfacesNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllBridgeConstructiveElementsNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllBridgePartsNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllBridgesNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllInstallationsNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllBuildingPartsNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllBuildingsNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllOpeningsNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllTerrainNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllTinNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllTransportationNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllVegetationNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.AllWaterNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.BoundarySurfaceNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.BridgeConstructiveElementNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.BridgeNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.InstallationNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.BuildingNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.BuildingPartNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.ButtonRenderable
;
import
de.hft.stuttgart.citydoctor2.gui.tree.CityObjectNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.GeometryNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.LandUseNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.OpeningNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.ReliefNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.Renderable
;
import
de.hft.stuttgart.citydoctor2.gui.tree.TinNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.VegetationNode
;
import
de.hft.stuttgart.citydoctor2.mapper.citygml3.GMLValidationHandler
;
import
de.hft.stuttgart.citydoctor2.parser.CityGmlParseException
;
import
de.hft.stuttgart.citydoctor2.parser.CityGmlParser
;
...
...
@@ -441,6 +399,8 @@ public class CityDoctorController {
createGeometryNodes
(
b
,
item
);
createBoundarySurfaceNodes
(
b
.
getBoundarySurfaces
(),
item
);
createBuildingInstallationNodes
(
b
,
item
);
createBuildingRoomNodes
(
b
,
item
);
createBuildingFurnitureNodes
(
b
,
item
);
createBuildingPartNodes
(
b
,
item
);
}
}
...
...
@@ -526,6 +486,51 @@ public class CityDoctorController {
}
}
private
void
createBuildingRoomNodes
(
Building
ab
,
TreeItem
<
Renderable
>
root
)
{
createRoomNodes
(
ab
.
getBuildingRooms
(),
root
);
}
private
void
createRoomNodes
(
List
<?
extends
AbstractRoom
>
rooms
,
TreeItem
<
Renderable
>
root
)
{
if
(
rooms
.
isEmpty
())
{
return
;
}
AllRoomsNode
allRoNode
=
new
AllRoomsNode
(
rooms
);
TreeItem
<
Renderable
>
allRoNodeTextItem
=
new
TreeItem
<>(
allRoNode
);
root
.
getChildren
().
add
(
allRoNodeTextItem
);
for
(
AbstractRoom
room
:
rooms
)
{
RoomNode
roomNode
=
new
RoomNode
(
room
);
TreeItem
<
Renderable
>
roomNodeTextItem
=
new
TreeItem
<>(
roomNode
);
roomNodeTextItem
.
setExpanded
(
true
);
allRoNodeTextItem
.
getChildren
().
add
(
roomNodeTextItem
);
createGeometryNodes
(
room
,
roomNodeTextItem
);
createBoundarySurfaceNodes
(
room
.
getBoundarySurfaceList
(),
roomNodeTextItem
);
}
}
private
void
createBuildingFurnitureNodes
(
Building
ab
,
TreeItem
<
Renderable
>
root
)
{
createFurnitureNodes
(
ab
.
getBuildingRoomFurnitureList
(),
root
);
}
private
void
createFurnitureNodes
(
List
<?
extends
AbstractFurniture
>
furniture
,
TreeItem
<
Renderable
>
root
){
if
(
furniture
.
isEmpty
())
{
return
;
}
AllFurnitureNode
allFnNode
=
new
AllFurnitureNode
(
furniture
);
TreeItem
<
Renderable
>
allFnNodeTextItem
=
new
TreeItem
<>(
allFnNode
);
root
.
getChildren
().
add
(
allFnNodeTextItem
);
for
(
AbstractFurniture
fn
:
furniture
)
{
FurnitureNode
fnNode
=
new
FurnitureNode
(
fn
);
TreeItem
<
Renderable
>
fnNodeTextItem
=
new
TreeItem
<>(
fnNode
);
fnNodeTextItem
.
setExpanded
(
true
);
allFnNodeTextItem
.
getChildren
().
add
(
fnNodeTextItem
);
createGeometryNodes
(
fn
,
fnNodeTextItem
);
createBoundarySurfaceNodes
(
fn
.
getBoundarySurfaceList
(),
fnNodeTextItem
);
}
}
private
void
createBoundarySurfaceNodes
(
List
<
BoundarySurface
>
bsList
,
TreeItem
<
Renderable
>
root
)
{
if
(
bsList
.
isEmpty
())
{
return
;
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
+
70
-
24
View file @
43f226db
...
...
@@ -7,34 +7,12 @@ import java.util.HashSet;
import
java.util.List
;
import
java.util.Set
;
import
de.hft.stuttgart.citydoctor2.datastructure.*
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
de.hft.stuttgart.citydoctor2.check.CheckError
;
import
de.hft.stuttgart.citydoctor2.check.Checkable
;
import
de.hft.stuttgart.citydoctor2.datastructure.AbstractBuilding
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface
;
import
de.hft.stuttgart.citydoctor2.datastructure.BoundingBox
;
import
de.hft.stuttgart.citydoctor2.datastructure.BridgeConstructiveElement
;
import
de.hft.stuttgart.citydoctor2.datastructure.BridgeObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.Building
;
import
de.hft.stuttgart.citydoctor2.datastructure.Installation
;
import
de.hft.stuttgart.citydoctor2.datastructure.BuildingPart
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.Edge
;
import
de.hft.stuttgart.citydoctor2.datastructure.Geometry
;
import
de.hft.stuttgart.citydoctor2.datastructure.LinearRing
;
import
de.hft.stuttgart.citydoctor2.datastructure.Lod
;
import
de.hft.stuttgart.citydoctor2.datastructure.Opening
;
import
de.hft.stuttgart.citydoctor2.datastructure.Polygon
;
import
de.hft.stuttgart.citydoctor2.datastructure.ReliefObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.TinObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.TransportationObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vegetation
;
import
de.hft.stuttgart.citydoctor2.datastructure.Vertex
;
import
de.hft.stuttgart.citydoctor2.datastructure.WaterObject
;
import
de.hft.stuttgart.citydoctor2.gui.filter.ViewFilter
;
import
de.hft.stuttgart.citydoctor2.gui.tree.EdgeNode
;
import
de.hft.stuttgart.citydoctor2.gui.tree.ErrorItemVisitor
;
...
...
@@ -208,6 +186,18 @@ public class Renderer {
}
}
}
for
(
BuildingRoom
br
:
b
.
getBuildingRooms
())
{
addPolygons
(
br
,
polygons
);
for
(
BoundarySurface
bs
:
br
.
getBoundarySurfaceList
()){
addPolygons
(
bs
,
polygons
);
}
}
for
(
BuildingRoomFurniture
brf
:
b
.
getBuildingRoomFurnitureList
()){
addPolygons
(
brf
,
polygons
);
for
(
BoundarySurface
bs
:
brf
.
getBoundarySurfaceList
()){
addPolygons
(
bs
,
polygons
);
}
}
for
(
BuildingPart
bp
:
b
.
getBuildingParts
())
{
polygons
.
addAll
(
setupBuildingPartPolygons
(
bp
));
}
...
...
@@ -247,7 +237,57 @@ public class Renderer {
}
return
polygons
;
}
public
void
render
(
AbstractRoom
room
){
refresher
=
()
->
{
Set
<
ConcretePolygon
>
setupRoomPolygons
=
setupRoomPolygons
(
room
);
mainWindow
.
zoomOutForBoundingBox
(
BoundingBox
.
of
(
setupRoomPolygons
));
render
(
setupRoomPolygons
);
Platform
.
runLater
(()
->
{
errorUpdater
=
()
->
displayErrors
(
room
);
errorUpdater
.
run
();
});
};
refresher
.
run
();
}
public
Set
<
ConcretePolygon
>
setupRoomPolygons
(
AbstractRoom
room
)
{
Set
<
ConcretePolygon
>
polygons
=
new
HashSet
<>();
addPolygons
(
room
,
polygons
);
for
(
BoundarySurface
bs
:
room
.
getBoundarySurfaceList
())
{
addPolygons
(
bs
,
polygons
);
for
(
Opening
op
:
bs
.
getOpenings
())
{
addPolygons
(
op
,
polygons
);
}
}
return
polygons
;
}
public
void
render
(
AbstractFurniture
furniture
){
refresher
=
()
->
{
Set
<
ConcretePolygon
>
setupFurniturePolygons
=
setupFurniturePolygons
(
furniture
);
mainWindow
.
zoomOutForBoundingBox
(
BoundingBox
.
of
(
setupFurniturePolygons
));
render
(
setupFurniturePolygons
);
Platform
.
runLater
(()
->
{
errorUpdater
=
()
->
displayErrors
(
furniture
);
errorUpdater
.
run
();
});
};
refresher
.
run
();
}
public
Set
<
ConcretePolygon
>
setupFurniturePolygons
(
AbstractFurniture
furniture
)
{
Set
<
ConcretePolygon
>
polygons
=
new
HashSet
<>();
addPolygons
(
furniture
,
polygons
);
for
(
BoundarySurface
bs
:
furniture
.
getBoundarySurfaceList
())
{
addPolygons
(
bs
,
polygons
);
for
(
Opening
op
:
bs
.
getOpenings
())
{
addPolygons
(
op
,
polygons
);
}
}
return
polygons
;
}
public
void
render
(
BridgeObject
bridge
)
{
refresher
=
()
->
{
Set
<
ConcretePolygon
>
setupBridgePolygons
=
setupBridgePolygons
(
bridge
);
...
...
@@ -657,6 +697,12 @@ public class Renderer {
}
}
}
for
(
BuildingRoom
br
:
ab
.
getBuildingRooms
())
{
addPolygons
(
br
,
polygons
);
for
(
BoundarySurface
bs
:
br
.
getBoundarySurfaceList
()){
addPolygons
(
bs
,
polygons
);
}
}
for
(
BoundarySurface
bs
:
ab
.
getBoundarySurfaces
())
{
addPolygons
(
bs
,
polygons
);
for
(
Opening
o
:
bs
.
getOpenings
())
{
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllFurnitureNode.java
0 → 100644
+
45
-
0
View file @
43f226db
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.AbstractFurniture
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
import
java.util.List
;
public
class
AllFurnitureNode
extends
Renderable
{
private
final
List
<?
extends
AbstractFurniture
>
furniture
;
public
AllFurnitureNode
(
List
<?
extends
AbstractFurniture
>
furniture
)
{
this
.
furniture
=
furniture
;
}
@Override
public
String
getText
()
{
return
"Building Furniture"
;
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
clearCurrentRender
();
}
@Override
public
void
refreshTextColor
()
{
boolean
wasChecked
=
false
;
for
(
AbstractFurniture
af
:
furniture
)
{
if
(
af
.
isValidated
())
{
wasChecked
=
true
;
if
(
af
.
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/AllRoomsNode.java
0 → 100644
+
45
-
0
View file @
43f226db
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.AbstractRoom
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
import
java.util.List
;
public
class
AllRoomsNode
extends
Renderable
{
private
final
List
<?
extends
AbstractRoom
>
rooms
;
public
AllRoomsNode
(
List
<?
extends
AbstractRoom
>
rooms
)
{
this
.
rooms
=
rooms
;
}
@Override
public
String
getText
()
{
return
"Building Rooms"
;
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
clearCurrentRender
();
}
@Override
public
void
refreshTextColor
()
{
boolean
wasChecked
=
false
;
for
(
AbstractRoom
ar
:
rooms
)
{
if
(
ar
.
isValidated
())
{
wasChecked
=
true
;
if
(
ar
.
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/FurnitureNode.java
0 → 100644
+
36
-
0
View file @
43f226db
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.AbstractFurniture
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
public
class
FurnitureNode
extends
Renderable
{
private
final
AbstractFurniture
furniture
;
public
FurnitureNode
(
AbstractFurniture
furniture
)
{
this
.
furniture
=
furniture
;
}
@Override
public
String
getText
()
{
return
furniture
.
getGmlId
().
getGmlString
();
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
render
(
furniture
);
}
@Override
public
void
refreshTextColor
()
{
if
(!
furniture
.
isValidated
())
{
setStatus
(
CheckStatus
.
NOT_CHECKED
);
}
else
if
(
furniture
.
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/RoomNode.java
0 → 100644
+
36
-
0
View file @
43f226db
package
de.hft.stuttgart.citydoctor2.gui.tree
;
import
de.hft.stuttgart.citydoctor2.datastructure.AbstractRoom
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
public
class
RoomNode
extends
Renderable
{
private
final
AbstractRoom
room
;
public
RoomNode
(
AbstractRoom
room
)
{
this
.
room
=
room
;
}
@Override
public
String
getText
()
{
return
room
.
getGmlId
().
getGmlString
();
}
@Override
public
void
visit
(
Renderer
renderer
)
{
renderer
.
render
(
room
);
}
@Override
public
void
refreshTextColor
()
{
if
(!
room
.
isValidated
())
{
setStatus
(
CheckStatus
.
NOT_CHECKED
);
}
else
if
(
room
.
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