Bug 332260 - Fix and extend handling the KML extrude tag
Summary: Fix and extend handling the KML extrude tag
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: 1.7 (KDE 4.12)
Platform: unspecified Linux
: NOR task
Target Milestone: ---
Assignee: Marek Hakala
URL:
Keywords: junior-jobs
Depends on:
Blocks:
 
Reported: 2014-03-17 20:12 UTC by Dennis Nienhüser
Modified: 2014-04-09 20:42 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 2014-03-17 20:12:22 UTC
This task is about implementing full support for the KML extrude tag. It can occur as a child element of <Point>, <Polygon>, <LineString> and <LinearRing>. See https://developers.google.com/kml/documentation/kmlreference for details.
- Fix KmlextrudeTagHandler::parse, which does a faulty boolean check if( parentItem.nodeAs<GeoDataGeometry>() ). Change both checks in that area to use
parentItem.is<GeoData...>() for all fours elements (GeoDataPoint, GeoDataLineString, GeoDataLinearRing, GeoDataPolygon). Assign them the extrude value as necessary.
- Extend all Kml*TagWriter.cpp files for Point, LineString, LinearRing and Polygon to write the extrude tag if extrude is active (so either <extrude>1</extrude> ends up in the KML file or nothing).
- Extend the .kml files in tests/data/ to have at least one instance with <extrude>1</extrude> for all four tags

Make sure to compile Marble with the following cmake options enabled: BUILD_MARBLE_TESTS=TRUE, BUILD_MARBLE_TOOLS=TRUE. Execute tests/TestGeoDataWriter and make sure no errors come up. Use tools/kml2kml to analyze errors and fix the tag writers, if needed. Submit a review request at https://git.reviewboard.kde.org with the marble group as reviewers.

Please leave a comment here (e.g. "I want to work on this task.") if you start working on this task to avoid multiple people working on it at the same time.
Comment 1 Marek Hakala 2014-04-09 19:24:04 UTC
https://git.reviewboard.kde.org/r/117459/
Comment 2 Dennis Nienhüser 2014-04-09 20:42:41 UTC
Git commit c992fd62015f3c0e8725ad2117aad41054735377 by Dennis Nienhüser, on behalf of Marek Hakala.
Committed on 09/04/2014 at 20:41.
Pushed by nienhueser into branch 'master'.

Fix and extend handling the KML extrude tag
REVIEW: 117459

M  +18   -8    src/lib/marble/geodata/handlers/kml/KmlExtrudeTagHandler.cpp
M  +2    -0    src/lib/marble/geodata/writers/kml/KmlLineStringTagWriter.cpp
M  +2    -0    src/lib/marble/geodata/writers/kml/KmlLinearRingTagWriter.cpp
M  +2    -1    src/lib/marble/geodata/writers/kml/KmlPointTagWriter.cpp
M  +2    -0    src/lib/marble/geodata/writers/kml/KmlPolygonTagWriter.cpp
M  +4    -0    tests/data/Geometries.kml

http://commits.kde.org/marble/c992fd62015f3c0e8725ad2117aad41054735377