dkolozsvari created this revision.
dkolozsvari added reviewers: nienhueser, rahn.
dkolozsvari added a subscriber: Marble.
dkolozsvari set the repository for this revision to rMARBLE Marble.
dkolozsvari added a project: Marble.
REVISION SUMMARY
This is a fast approach on how to add more nodes to the edges of the tiles.
This is required for a nice rendering on non-Mercator projections. The results
are pretty good, as seen on the second screenshot(first screenshot is without
the added nodes).
Using `GeoDataCoordinates::interpolate()` would be better(?) approach to
generate the added nodes, but that would require to translate from `QPolygonF`
back to `GeoDataLineString` in the cutting algorithm, and then convert it to a
`QList<QSharedPointer<LinkedPoint>>`. If there is no visible benefit from using
that approach, I would stick with this.
The formula to calculate the number of nodes to add can be changed,
MAXIMUM_POINTS_TO_ADD - zoomLevel
is only for demonstration. Suggestions are welcome.
Before (problematic spots marked):
F255735: Screenshot_20160812_102318.png <https://phabricator.kde.org/F255735>
After:
F255737: Screenshot_20160812_101924.png <https://phabricator.kde.org/F255737>
REPOSITORY
rMARBLE Marble
REVISION DETAIL
https://phabricator.kde.org/D2417
AFFECTED FILES
tools/osm-simplify/BaseClipper.cpp
tools/osm-simplify/BaseClipper.h
tools/osm-simplify/ShpCoastlineProcessor.cpp
tools/osm-simplify/TinyPlanetProcessor.cpp
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: dkolozsvari, nienhueser, rahn
Cc: #marble, shentey, chaz6, dkolozsvari, cmihalache, rahn, nienhueser,
marble-devel