My contribution to Marble so far

Well, it’s been a long time since I had written my last blog. But I’m happy to say I have managed to make 5 commits in total so far (2 of them very small ones) in less than a month which has been pushed to the upstream by my mentor, Dennis Nienhüser. So here’s a brief summary of my commits:

1) April 24- Improve rendering of GPX tracks and routes. Well this one was a rather simple one. Basically, the aim was to make it possible for the active tracks to be distinguished from the ones loaded from file. So after the commit, the rendering of tracks and routes has become identical to the rendering of tracks and routes created by Marble itself, except that the color has been made slightly more saturated in order to make it possible to distinguish them.

2) May 17- Add support for reading the KML Model tag. As for now, Marble does not produce 3D images on closeup views. Although Google Earth has the facility. In KML, you can import 3D models—such as buildings, bridges, monuments, and statues—in the COLLADA interchange file format. So the first step for bringing 3D features to Marble would be to add support for reading/writing the KML Model Tag. So I wrote the GeoDataModel and other associated classes along with the various tag handlers and added “read” support for the tags. Although the patch was tremendously long (of 60 files) still fortunately a portion of the patch was done from before so it made my work a bit easier.

3) May 19- Fix capitalization according to kml spec. This one was a very small bug which fixed the the enumerator values of the altitudeMode tag. Previously they started with capital letters, and I changed it to small letters (made the first letter from caps to small).

4) May 19- KML Model tag writer The reading/writing of the tag could only be completed if the “writing” part was done as well. So, I wrote the KmlModelTagWriter which could do the job. I had created a kml test-file containing the Model object in it, for testing my work.

5) May 19- Fixed include guard. There was a very silly mistake in the include guards in one of the files. Changed it to the correct one.

As for now, I am working on adding support for writing the KML gx:TimeStamp and gx:TimeSpan tags and hope to complete the task by the next day…