Bug 320009 - Support reading and writing gx:altitudeMode KML tags
Summary: Support reading and writing gx:altitudeMode KML tags
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: 1.6 (KDE 4.11)
Platform: Other Linux
: NOR task
Target Milestone: ---
Assignee: Sanjiban Bairagya
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-19 12:19 UTC by Dennis Nienhüser
Modified: 2013-12-16 08:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Nienhüser 2013-05-19 12:19:16 UTC
We support the <altitudeMode> tag currently, but not <gx:altitudeMode> which extends <altitudeMode> by two more values.
https://developers.google.com/kml/documentation/kmlreference#gxaltitudemode

- Extend the AltitudeMode enum in src/lib/MarbleGlobal.h by the two additional values
- Add a KmlGxAltitudeModeTagHandler that behaves like the existing KmlAltitudeModeTagHandler, but listens to the gx: namespace and parses the two additional values also
- Add a KmlAltitudeModelTagWriter which can both write <altitudeMode> and <gx:altitudeMode>. Have it switch between both based on the enum value to write
- Change KmlCameraTagWriter.cpp, KmlGroundOverlayWriter.cpp, KmlLatLonAltBoxWriter.cpp and KmlModelTagWriter.cpp to use the new KmlAltitudeModelTagWriter instead of writing altitudeMode manually
- Add a test .kml file to tests/data/ which has various combinations of altitudeMode inside and outside the gx namespace with various values. Add the .kml file to tests/TestGeoDataWriter.cpp and verify it works as extended