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
05ebfd21
Commit
05ebfd21
authored
4 days ago
by
Riegel
Browse files
Options
Download
Email Patches
Plain Diff
Fix: Add missing LODs to switch case
parent
742f9555
master
dev
dev_gui_features_zip_loading
archive/dev_gui_features_zip_loading
2 merge requests
!28
Version 3.17.0 Release
,
!27
TransportationObject model rework
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaObject.java
+6
-1
...tuttgart/citydoctor2/datastructure/TrafficAreaObject.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java
+23
-6
...ttgart/citydoctor2/datastructure/TransportationSpace.java
with
29 additions
and
7 deletions
+29
-7
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaObject.java
+
6
-
1
View file @
05ebfd21
...
...
@@ -8,7 +8,6 @@ import org.citygml4j.core.util.geometry.GeometryFactory;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurface
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
import
java.util.List
;
public
class
TrafficAreaObject
extends
TransportationObject
{
...
...
@@ -74,6 +73,12 @@ public class TrafficAreaObject extends TransportationObject {
private
void
setMultiSurfaceAccordingToLod
(
TrafficArea
ta
,
MultiSurface
ms
,
Lod
lod
)
{
switch
(
lod
)
{
case
LOD0:
ta
.
setLod0MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
break
;
case
LOD1:
ta
.
setLod1MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
break
;
case
LOD2:
ta
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
break
;
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java
+
23
-
6
View file @
05ebfd21
...
...
@@ -8,6 +8,7 @@ import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils;
import
de.hft.stuttgart.citydoctor2.utils.CopyHandler
;
import
de.hft.stuttgart.citydoctor2.utils.Copyable
;
import
org.citygml4j.core.model.core.AbstractSpace
;
import
org.citygml4j.core.model.transportation.AbstractTransportationSpace
;
import
org.citygml4j.core.util.geometry.GeometryFactory
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurface
;
import
org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty
;
...
...
@@ -48,8 +49,12 @@ public abstract class TransportationSpace extends TransportationObject {
}
if
(
geom
.
getType
()
==
GeometryType
.
MULTI_SURFACE
)
{
MultiSurface
ms
=
CityGmlUtils
.
createMultiSurface
(
geom
,
factory
,
config
);
AbstractSpace
ats
=
(
AbstractSpace
)
super
.
getGmlObject
();
setMultiSurfaceAccordingToLod
(
ats
,
ms
,
geom
.
getLod
());
if
(
super
.
getGmlObject
()
instanceof
AbstractTransportationSpace
ats
)
{
setMultiSurfaceAccordingToLod
(
ats
,
ms
,
geom
.
getLod
());
}
else
{
AbstractSpace
as
=
(
AbstractSpace
)
super
.
getGmlObject
();
setMultiSurfaceAccordingToLod
(
as
,
ms
,
geom
.
getLod
());
}
}
else
{
throw
new
IllegalStateException
(
"Geometry in TransportationObject cannot be of type "
+
geom
.
getType
()
+
". Only MultiSurface allowed"
);
...
...
@@ -63,16 +68,28 @@ public abstract class TransportationSpace extends TransportationObject {
}
}
private
void
setMultiSurfaceAccordingToLod
(
AbstractSpace
ats
,
MultiSurface
ms
,
Lod
lod
)
{
private
void
setMultiSurfaceAccordingToLod
(
AbstractTransportationSpace
ats
,
MultiSurface
ms
,
Lod
lod
)
{
switch
(
lod
)
{
case
LOD0
->
ats
.
setLod0MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
case
LOD1
->
ats
.
getDeprecatedProperties
().
setLod1MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
case
LOD2
->
ats
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
case
LOD3
->
ats
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
case
LOD4
->
ats
.
getDeprecatedProperties
().
setLod4MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
default
->
throw
new
IllegalStateException
(
"cannot set geometry with LOD for AuxiliaryTrafficSpace: "
+
lod
);
}
}
private
void
setMultiSurfaceAccordingToLod
(
AbstractSpace
as
,
MultiSurface
ms
,
Lod
lod
)
{
switch
(
lod
)
{
case
LOD0:
a
t
s
.
setLod0MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
as
.
setLod0MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
break
;
case
LOD2:
a
t
s
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
as
.
setLod2MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
break
;
case
LOD3:
a
t
s
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
as
.
setLod3MultiSurface
(
new
MultiSurfaceProperty
(
ms
));
break
;
default
:
throw
new
IllegalStateException
(
"cannot set geometry with LOD for AuxiliaryTrafficSpace: "
+
lod
);
...
...
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