[Marble-devel] Review Request 124074: Implemented outlines for GeoLineStringGraphicsItems.
Torsten Rahn
tackat at kde.org
Sun Jun 14 02:38:51 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124074/#review81456
-----------------------------------------------------------
Patch looks pretty good to me. I wonder how well this enhancements "scales" in terms of API possible improvements with regard to code sharing and performance:
Could you create a prototype patch (or a real one) that adds the following feature:
For creating the Fake3D effect that can be seen in
http://www.openstreetmap.org/relation/1244004#map=18/47.50438/19.05058&layers=TN (ignore the blur there and just assume a shifted copy with a different style)
https://www.google.de/maps/place/Budapest,+Ungarn/@47.5042101,19.0498791,18z/data=!4m2!3m1!1s0x4741c334d1d4cfc9:0x400c4290c1e1160
we would need a pretty similar technique that includes creating a "copy" with a positional offset and a different style (no pen being used for the "groundfloor shape" (better name?) item and one that uses a pen and a different brush for the "roof" item).
Which effect would this have on the public API? Should we then add another set of "copyAsFake3D()" and "isFake3D" or should we have a generic copyAsDecoration(flag), where flag could get values like "Fake3D", "Outline"?
- Torsten Rahn
On Juni 13, 2015, 9:10 nachm., Dávid Kolozsvári wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124074/
> -----------------------------------------------------------
>
> (Updated Juni 13, 2015, 9:10 nachm.)
>
>
> Review request for Marble.
>
>
> Repository: marble
>
>
> Description
> -------
>
> This patch adds support for outlines on `GeoLineStringGraphicsItems`, which represent the roads, streets, paths and ways on the OSM vector tiles. The main idea is to draw behind every `GeoLineStringGraphicsItem` the same line(implemented a `GeoLineStringGraphicsItem::copyAsOutline()` function for this purpose) with the pen color(outline color) and the original line on top of that with the brush color(fill color) and a little thinner.
> Painting these outlines have a small impact on the performance: cca. 10 ms(on my laptop) on a large map, which has 2000+ lines. Because of that, this feature can be disabled if map quality is set to `Low` or `Outline`.
>
> On the other hand, I've added some new features to `GeoDataVisualCategory`, like `HighwayCycleway` and `HighwayFootway`, which are now rendered correctly on OSM vector tiles.
>
>
> Diffs
> -----
>
> src/lib/marble/geodata/data/GeoDataFeature.h ea23cd8
> src/lib/marble/geodata/data/GeoDataFeature.cpp 6f330fb
> src/lib/marble/geodata/data/GeoDataFeature_p.h 496c356
> src/lib/marble/geodata/graphicsitem/GeoLineStringGraphicsItem.h 4842809
> src/lib/marble/geodata/graphicsitem/GeoLineStringGraphicsItem.cpp 4320c07
> src/lib/marble/layers/GeometryLayer.cpp 9eb3f50
>
> Diff: https://git.reviewboard.kde.org/r/124074/diff/
>
>
> Testing
> -------
>
> The performance impact is acceptable, the result is ok and works for me.
>
>
> Thanks,
>
> Dávid Kolozsvári
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20150614/662caba7/attachment.html>
More information about the Marble-devel
mailing list