[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