[Differential] [Request, 1,312 lines] D2828: Split GeoPolygonGraphicsItem class into subtypes Bathymetry, Building, Normal
kossebau (Friedrich W. H. Kossebau)
noreply at phabricator.kde.org
Wed Sep 21 18:20:19 UTC 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20160921/21fcade2/attachment.html>
More information about the Marble-devel
mailing list