Refactor the parser and renderer code so that it adheres to
http://wiki.openstreetmap.org/wiki/Simple_3D_buildings#Building_relation
"Building relation
A relation tagged with type=building groups building outline and all building parts together. It is highly recommended to use the relation if there is at least one building part. Otherwise an application has to fall back to search for building parts only within the area of the building outline. See also ProposedRoofLines#Building_Relation for proposals of further details. "
This means that for a relation with the type=building a GeoDataBuilding object is assigned while the building parts get all "attached" to its Multigeometry (so they are each not a GeoDataBuilding anymore).
NOTE: Frequently perform a regression test:
- Cathredals etc still have their icons
- Selecting a cathedral tells that you selected a cathredal, not a building (like it does currently)
- Tile creation still works, also for buildings (tile creation uses the same osm parser as the Marble Maps client).
- Building rendering works as before