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
88b0a135
Commit
88b0a135
authored
Nov 13, 2024
by
Riegel
Browse files
Add proper rendering of Tunnel to Feature search
parent
db490e30
Changes
1
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/CityDoctorController.java
View file @
88b0a135
...
...
@@ -473,7 +473,6 @@ public class CityDoctorController {
createBoundarySurfaceNodes
(
bridge
.
getBoundarySurfaces
(),
item
);
createBridgeRoomNodes
(
bridge
,
item
);
createBridgeInstallationNodes
(
bridge
,
item
);
createConstructiveElementsNodes
(
bridge
,
item
);
createBridgeFurnitureNodes
(
bridge
,
item
);
createBridgeConstructiveElementsNodes
(
bridge
,
item
);
createBridgePartNodes
(
bridge
,
item
);
...
...
@@ -481,6 +480,71 @@ public class CityDoctorController {
}
private
void
buildTunnelTreeFromList
(
List
<
Tunnel
>
list
,
TreeItem
<
Renderable
>
root
)
{
int
tunnelChunk
=
tunnelChunkNr
.
get
();
for
(
int
i
=
tunnelChunk
*
MAX_FEATURES_PER_CHUNK
;
i
<
(
tunnelChunk
+
1
)
*
MAX_FEATURES_PER_CHUNK
&&
i
<
list
.
size
();
i
++)
{
Tunnel
tunnel
=
list
.
get
(
i
);
TunnelNode
node
=
new
TunnelNode
(
tunnel
);
TreeItem
<
Renderable
>
item
=
new
TreeItem
<>(
node
);
item
.
setExpanded
(
true
);
root
.
getChildren
().
add
(
item
);
createGeometryNodes
(
tunnel
,
item
);
createBoundarySurfaceNodes
(
tunnel
.
getBoundarySurfaces
(),
item
);
createTunnelHollowNodes
(
tunnel
,
item
);
createTunnelInstallationNodes
(
tunnel
,
item
);
createTunnelFurnitureNodes
(
tunnel
,
item
);
createTunnelConstructiveElementsNodes
(
tunnel
,
item
);
createTunnelPartNodes
(
tunnel
,
item
);
}
}
private
void
createTunnelInstallationNodes
(
Tunnel
tunnel
,
TreeItem
<
Renderable
>
root
)
{
createInstallationNodes
(
tunnel
.
getTunnelInstallations
(),
root
);
}
private
void
createTunnelHollowNodes
(
Tunnel
tunnel
,
TreeItem
<
Renderable
>
root
)
{
createRoomNodes
(
tunnel
.
getTunnelHollows
(),
root
);
}
private
void
createTunnelFurnitureNodes
(
Tunnel
tunnel
,
TreeItem
<
Renderable
>
root
)
{
createFurnitureNodes
(
tunnel
.
getTunnelFurniture
(),
root
);
}
private
void
createTunnelConstructiveElementsNodes
(
Tunnel
tunnel
,
TreeItem
<
Renderable
>
root
){
if
(
tunnel
.
getTunnelConstructiveElements
().
isEmpty
()){
return
;
}
AllTunnelConstructiveElementsNode
allTceNode
=
new
AllTunnelConstructiveElementsNode
(
tunnel
.
getTunnelConstructiveElements
());
TreeItem
<
Renderable
>
allTceNodeTextItem
=
new
TreeItem
<>(
allTceNode
);
root
.
getChildren
().
add
(
allTceNodeTextItem
);
for
(
TunnelConstructiveElement
tce
:
tunnel
.
getTunnelConstructiveElements
())
{
TunnelConstructiveElementNode
tceNode
=
new
TunnelConstructiveElementNode
(
tce
);
TreeItem
<
Renderable
>
tceNodeItem
=
new
TreeItem
<>(
tceNode
);
tceNodeItem
.
setExpanded
(
true
);
allTceNodeTextItem
.
getChildren
().
add
(
tceNodeItem
);
createGeometryNodes
(
tce
,
tceNodeItem
);
createBoundarySurfaceNodes
(
tce
.
getBoundarySurfaces
(),
tceNodeItem
);
}
}
private
void
createTunnelPartNodes
(
Tunnel
tunnel
,
TreeItem
<
Renderable
>
root
)
{
if
(
tunnel
.
getTunnelParts
().
isEmpty
())
{
return
;
}
AllTunnelPartsNode
allTpsText
=
new
AllTunnelPartsNode
(
tunnel
.
getTunnelParts
());
TreeItem
<
Renderable
>
allTpsTextItem
=
new
TreeItem
<>(
allTpsText
);
root
.
getChildren
().
add
(
allTpsTextItem
);
for
(
TunnelPart
tp
:
tunnel
.
getTunnelParts
())
{
TunnelPartNode
tpNode
=
new
TunnelPartNode
(
tp
);
TreeItem
<
Renderable
>
tpNodeItem
=
new
TreeItem
<>(
tpNode
);
tpNodeItem
.
setExpanded
(
true
);
allTpsTextItem
.
getChildren
().
add
(
tpNodeItem
);
createGeometryNodes
(
tp
,
tpNodeItem
);
createBoundarySurfaceNodes
(
tp
.
getBoundarySurfaces
(),
tpNodeItem
);
}
}
private
void
createBridgeRoomNodes
(
BridgeObject
bridge
,
TreeItem
<
Renderable
>
root
)
{
createRoomNodes
(
bridge
.
getBridgeRooms
(),
root
);
...
...
@@ -866,7 +930,6 @@ public class CityDoctorController {
buildBuildingTreeFromList
(
foundBuildings
,
root
);
updateTree
(
root
);
addMoreButtonToBuildingsIfNecessary
(
foundBuildings
,
buildingsView
,
root
,
buildingChunkNr
);
}
else
{
}
else
if
(
selectedTab
==
FeatureType
.
BRIDGE
){
List
<
BridgeObject
>
foundBridges
=
filterFeatures
(
searchString
,
model
.
getBridges
());
TreeView
<
Renderable
>
brigdeView
=
mainWindow
.
getBridgeView
();
...
...
@@ -875,6 +938,14 @@ public class CityDoctorController {
buildBridgeTreeFromList
(
foundBridges
,
root
);
updateTree
(
root
);
addMoreButtonIfNecessary
(
foundBridges
,
brigdeView
,
root
,
bridgeChunkNr
);
}
else
if
(
selectedTab
==
FeatureType
.
TUNNEL
){
List
<
Tunnel
>
foundTunnel
=
filterFeatures
(
searchString
,
model
.
getTunnels
());
TreeView
<
Renderable
>
tunnelView
=
mainWindow
.
getTunnelView
();
TreeItem
<
Renderable
>
root
=
tunnelView
.
getRoot
();
root
.
getChildren
().
clear
();
buildTunnelTreeFromList
(
foundTunnel
,
root
);
updateTree
(
root
);
addMoreButtonIfNecessary
(
foundTunnel
,
tunnelView
,
root
,
bridgeChunkNr
);
}
else
{
TreeView
<
Renderable
>
view
;
...
...
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