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
7ff5925b
Commit
7ff5925b
authored
Oct 10, 2024
by
Riegel
Browse files
Add world rendering for recently added CityObjects
parent
a3786746
Changes
4
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/Renderer.java
View file @
7ff5925b
...
@@ -719,7 +719,33 @@ public class Renderer {
...
@@ -719,7 +719,33 @@ public class Renderer {
}
}
public
void
renderCityFurniture
(
List
<
CityFurniture
>
cityFurniture
){
public
void
renderCityFurniture
(
List
<
CityFurniture
>
cityFurniture
){
renderCityObjects
(
cityFurniture
,
Color
.
CYAN
);
errorUpdater
=
null
;
refresher
=
()
->
{
Platform
.
runLater
(()
->
{
loadingDialog
.
show
();
clearGeometryTrees
();
});
Thread
t
=
new
Thread
(()
->
{
Set
<
ConcretePolygon
>
polygons
=
new
HashSet
<>();
for
(
CityFurniture
cf
:
cityFurniture
)
{
collectCityFurniture
(
polygons
,
cf
);
}
currentTriGeom
=
TriangulatedGeometry
.
of
(
polygons
,
Color
.
BLUEVIOLET
);
errVisitor
.
setGeometry
(
currentTriGeom
);
Platform
.
runLater
(()
->
{
setupRenderState
();
mainWindow
.
zoomOutForBoundingBox
(
BoundingBox
.
of
(
polygons
));
loadingDialog
.
hide
();
});
});
t
.
setUncaughtExceptionHandler
((
thread
,
e
)
->
{
Platform
.
runLater
(()
->
loadingDialog
.
hide
());
logger
.
catching
(
e
);
});
t
.
start
();
};
refresher
.
run
();
}
}
public
void
renderTerrain
(
List
<
CityObject
>
land
)
{
public
void
renderTerrain
(
List
<
CityObject
>
land
)
{
...
@@ -809,6 +835,10 @@ public class Renderer {
...
@@ -809,6 +835,10 @@ public class Renderer {
}
}
}
}
private
void
collectCityFurniture
(
Set
<
ConcretePolygon
>
polygons
,
CityFurniture
cf
)
{
addPolygons
(
cf
,
polygons
);
}
private
void
addConcretePolygons
(
Set
<
ConcretePolygon
>
polygons
,
Geometry
geom
)
{
private
void
addConcretePolygons
(
Set
<
ConcretePolygon
>
polygons
,
Geometry
geom
)
{
for
(
Polygon
p
:
geom
.
getPolygons
())
{
for
(
Polygon
p
:
geom
.
getPolygons
())
{
polygons
.
add
(
p
.
getOriginal
());
polygons
.
add
(
p
.
getOriginal
());
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/TriangulatedGeometry.java
View file @
7ff5925b
...
@@ -110,6 +110,8 @@ public class TriangulatedGeometry {
...
@@ -110,6 +110,8 @@ public class TriangulatedGeometry {
addPolygonDataFromCityObjects
(
model
.
getTransportation
(),
triGeom
,
Color
.
YELLOW
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getTransportation
(),
triGeom
,
Color
.
YELLOW
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getVegetation
(),
triGeom
,
Color
.
LIGHTGREEN
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getVegetation
(),
triGeom
,
Color
.
LIGHTGREEN
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getWater
(),
triGeom
,
Color
.
LIGHTSKYBLUE
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getWater
(),
triGeom
,
Color
.
LIGHTSKYBLUE
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getCityFurniture
(),
triGeom
,
Color
.
BLUEVIOLET
,
filters
);
addPolygonDataFromCityObjects
(
model
.
getGenericCityObjects
(),
triGeom
,
Color
.
DARKGRAY
,
filters
);
return
triGeom
;
return
triGeom
;
}
}
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllCityFurnitureNode.java
View file @
7ff5925b
...
@@ -26,6 +26,7 @@ public class AllCityFurnitureNode extends Renderable{
...
@@ -26,6 +26,7 @@ public class AllCityFurnitureNode extends Renderable{
@Override
@Override
public
void
visit
(
Renderer
renderer
)
{
public
void
visit
(
Renderer
renderer
)
{
renderer
.
clearCurrentRender
();
renderer
.
renderCityFurniture
(
cityFurnitures
);
renderer
.
renderCityFurniture
(
cityFurnitures
);
}
}
...
...
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllOtherObjectsNode.java
View file @
7ff5925b
...
@@ -3,6 +3,7 @@ package de.hft.stuttgart.citydoctor2.gui.tree;
...
@@ -3,6 +3,7 @@ package de.hft.stuttgart.citydoctor2.gui.tree;
import
de.hft.stuttgart.citydoctor2.datastructure.GenericCityObject
;
import
de.hft.stuttgart.citydoctor2.datastructure.GenericCityObject
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.CheckStatus
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
import
de.hft.stuttgart.citydoctor2.gui.Renderer
;
import
javafx.scene.paint.Color
;
import
java.util.List
;
import
java.util.List
;
...
@@ -41,6 +42,7 @@ public class AllOtherObjectsNode extends Renderable{
...
@@ -41,6 +42,7 @@ public class AllOtherObjectsNode extends Renderable{
@Override
@Override
public
void
visit
(
Renderer
renderer
)
{
public
void
visit
(
Renderer
renderer
)
{
renderer
.
clearCurrentRender
();
renderer
.
clearCurrentRender
();
renderer
.
renderCityObjects
(
genericObjects
,
Color
.
GRAY
);
}
}
}
}
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