[Marble-devel] Review Request 124074: Implemented outlines for GeoLineStringGraphicsItems.

Dávid Kolozsvári freedawson at gmail.com
Sat Jun 13 21:10:47 UTC 2015

This is an automatically generated e-mail. To reply, visit:

(Updated June 13, 2015, 9:10 p.m.)

Review request for Marble.


* Removed the `GeometryLayer::setNeedsUpdate()` method.
* Using `s_outlineZValue` variable instead the "magic number" `0.01`.
* Using `qDeleteAll()`.

Repository: marble


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 (updated)

  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/


The performance impact is acceptable, the result is ok and works for me.


Dávid Kolozsvári

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20150613/89684634/attachment.html>

More information about the Marble-devel mailing list