kossebau created this revision. kossebau added reviewers: Marble, shentey, nienhueser, rahn.
REVISION SUMMARY GeoPolygonGraphicsItem has special code paths for polygons of buildings or bathymetry which complicate the logic (and also bring a small price at runtime, due to repeated checks or unneeded building properties). Distinct subclasses of GeoPolygonGraphicsItem for each type make the methods more simple and focussed. With more work on Vector OSM I expect even more special code for GeoPolygonGraphicsItem, so separate subclasses should help even more in the future. Input wanted especially on: - naming pattern of new classes - who should know about types, GeoPolygonGraphicsItem or GeometryLayer? GeometryLayer::whichBuildingAt(...) already puts concept of buildings into GeometryLayer (though GeoPolygonGraphicsItem's isBuilding() checks for even more visual categories, mismatch correct?) REPOSITORY rMARBLE Marble BRANCH splitGeoPolygonGraphicsItem REVISION DETAIL https://phabricator.kde.org/D2828 AFFECTED FILES src/lib/marble/geodata/CMakeLists.txt src/lib/marble/geodata/graphicsitem/AbstractGeoPolygonGraphicsItem.cpp src/lib/marble/geodata/graphicsitem/AbstractGeoPolygonGraphicsItem.h src/lib/marble/geodata/graphicsitem/BathymetryGeoPolygonGraphicsItem.cpp src/lib/marble/geodata/graphicsitem/BathymetryGeoPolygonGraphicsItem.h src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.cpp src/lib/marble/geodata/graphicsitem/BuildingGeoPolygonGraphicsItem.h src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.h src/lib/marble/layers/GeometryLayer.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: kossebau, #marble, shentey, nienhueser, rahn Cc: marble-devel