Juergen E. Fischer
d6f66ee488
fix phantom labels for (actually not) rendered feature (refs #13631 )
2015-10-23 16:04:30 +02:00
Martin Dobias
249c87822f
One common class for labeling configurations (QgsAbstractVectorLayerLabeling)
...
This is +/- equivalent of QgsFeatureRendererV2 for vector layer labels
This code has been funded by Tuscany Region (Italy) - SITA (CIG: 63526840AE) and commissioned to Gis3W s.a.s.
2015-09-24 15:48:05 +08:00
Martin Dobias
1782d1a505
[FEATURE] Rule-based labeling
...
Work in progress
This code has been funded by Tuscany Region (Italy) - SITA (CIG: 63526840AE) and commissioned to Gis3W s.a.s.
2015-09-24 15:48:05 +08:00
Martin Dobias
f0bc2e9b5a
Use new labeling engine also with symbol-level rendering
...
This code has been funded by Tuscany Region (Italy) - SITA (CIG: 63526840AE) and commissioned to Gis3W s.a.s.
2015-09-21 12:57:10 +08:00
Martin Dobias
d0fcc9557f
More labeling engine refactoring
...
- QgsPalLabeling now internally uses new engine
- label/diagram providers can hook into rendering loop to avoid extra feature loops
- map rendering uses the new engine instead of QgsPalLabeling
This code has been funded by Tuscany Region (Italy) - SITA (CIG: 63526840AE) and commissioned to Gis3W s.a.s.
2015-09-21 12:57:09 +08:00
Martin Dobias
8100495df6
Integrate new labeling engine into the map rendering
...
Now used instead of QgsPalLabeling for labels/diagrams
This code has been funded by Tuscany Region (Italy) - SITA (CIG: 63526840AE) and commissioned to Gis3W s.a.s.
2015-09-21 12:57:09 +08:00
Nyall Dawson
430303dfc9
Port diagrams to expression contexts
2015-08-22 19:01:40 +10:00
Nyall Dawson
3b6f5915e7
Port iterators to expression contexts
2015-08-22 19:01:40 +10:00
Nyall Dawson
0cab6b3376
Port renderers to expression contexts
2015-08-22 19:01:40 +10:00
Nyall Dawson
2bb1c8a31b
Start on implementing contexts for render operations
2015-08-22 19:01:39 +10:00
Nyall Dawson
57669e71c0
Make QgsRenderContext available to more renderer methods
2015-08-22 19:01:38 +10:00
Matthias Kuhn
abf2398880
Rule based renderer: empty rule matches all
...
Fix #13218
2015-08-15 09:26:50 +02:00
Matthias Kuhn
e832b2a28a
Add QgsVectorLayer::fields()
as alias to pendingFields()
...
pendingFields() is not very intuitive and leads to confusion for new developers.
2015-08-04 15:13:31 +02:00
Matthias Kuhn
e984fb00fd
Remove QgsRenderOptions, return filter in separate method
2015-07-29 12:09:44 +02:00
Matthias Kuhn
5be0ee734f
Remove QgsFeatureRequest::FilterRect from providers/iterators
2015-07-29 12:09:44 +02:00
Matthias Kuhn
1d7a6a4909
Rule based renderer exposes filter where clause
...
This filter can then be sent to the server to reduce the amount of fetched
features
2015-07-29 12:08:55 +02:00
Marco Hugentobler
9f8aa8494a
Cache geometries before rendering (curved geometries are going to be segmentized)
2015-07-13 11:13:52 +02:00
Denis Rouzaud
9e3183c63f
Revert "sort includes"
...
This reverts commit 2b7d3d3c73b50ba6dc74abec6dd652ff1b87c0ec.
2015-06-10 14:54:47 +02:00
Denis Rouzaud
2b7d3d3c73
sort includes
2015-06-10 13:59:08 +02:00
Nyall Dawson
2863f20d67
Add a const geometry getter to QgsFeature
2015-05-11 19:46:32 +10:00
Nyall Dawson
134067716d
Fix diagrams not initially showing when toggling on/off layers
2015-04-09 17:50:18 +10:00
Nyall Dawson
742f3233ee
[FEATURE] Paint effects for layers and symbol layers
...
This commit adds a new framework for implementing paint effects, which
modify the results of QPainter operations to apply visual effects
such as drop shadows and blurs.
The initial implementation allows for effects to be applied to entire
layers and individual symbol layers.
Included are a drop shadow, inner shadow, blur, inner glow, outer glow,
colorise and transform effect. A "stack" effect is also implemented
which allows other paint effects to be combined in various ways.
Sponsored by hundreds of generous kickstarter contributors!
2015-03-28 20:04:50 +11:00
Nyall Dawson
727747658b
[FEATURE] Live heatmap renderer
...
Allows for live, dynamic heatmaps for point layers. Options include
specifying heatmap radius in pixels, mm or map units, choice of
color ramp, and a slider for selecting a tradeoff between render
speed and quality.
2014-11-22 13:03:54 +11:00
Juergen E. Fischer
a57066a48d
* fix cppcheck warnings
...
* some sip updates
* [API] fix spelling QgsMultiRenderChecker::drawBackround
* [API] fix spelling QgsSymbolLayerV2Utils::drawStippledBackround
* [API] fix spelling QgsMapSettings::layerTransfrom
2014-11-20 15:02:35 +01:00
ahuarte47
20b0d121c8
#11243 : Disable simplification when OTFR transform fails
2014-10-07 02:57:26 +02:00
Juergen E. Fischer
a34240d5f9
make some rendering errors translatable
2014-08-20 12:08:07 +02:00
Martin Dobias
61c370484d
Add missing license headers for new classes from MTR
2014-06-16 11:55:01 +07:00
Martin Dobias
402c0dc5c8
Use QgsDebugMsg for a debug message
2014-06-02 15:34:53 +07:00
Nyall Dawson
aaa7003d54
[composer] Don't show vector selections in composer map items ( fix #7610 )
2014-06-02 16:42:30 +10:00
Alvaro Huarte
83eec4ac46
Enable disabled simplification code after merge MTR (2-2)
...
Enable AntialiasingSimplification
2014-05-27 13:26:50 +02:00
Martin Dobias
dac4cfc2f4
Fix #10217 (misaligned markers in composer)
2014-05-22 22:22:31 +07:00
Juergen E. Fischer
b6b78ca7a4
expression: dump binary operations with brackets to break precedence ( fixes #9783 )
2014-03-14 18:50:53 +01:00
Martin Dobias
3a317a061e
Fix #9658 (crash with diagrams)
2014-02-28 12:11:20 +07:00
Juergen E. Fischer
5a25570b7e
indentation update
2014-02-23 23:27:03 +01:00
Martin Dobias
fafa58ed24
Merge remote-tracking branch 'origin/master' into threading-revival
...
Conflicts:
src/core/qgspallabeling.cpp
src/core/qgsrenderchecker.h
src/core/qgsvectorlayer.cpp
src/core/symbology-ng/qgslinesymbollayerv2.cpp
src/core/symbology-ng/qgssymbollayerv2.cpp
src/providers/wms/qgswmsdataitems.cpp
tests/src/core/testqgsblendmodes.cpp
2014-02-23 20:12:50 +07:00
Martin Dobias
bc07486982
Re-enable geometry simplification while rendering
2014-02-18 12:51:45 +07:00
Martin Dobias
a3af93394e
Merge branch 'master' into threading-revival
...
Some features are still disabled - will be fixed later
Conflicts:
python/core/composer/qgscomposition.sip
python/core/diagram/qgsdiagram.sip
python/core/diagram/qgshistogramdiagram.sip
python/core/diagram/qgspiediagram.sip
python/core/diagram/qgstextdiagram.sip
python/core/qgsdiagramrendererv2.sip
python/core/qgsfield.sip
python/core/qgslabelsearchtree.sip
python/core/qgsmaprenderer.sip
python/core/qgsrenderchecker.sip
python/core/symbology-ng/qgssymbollayerv2.sip
python/gui/qgsmapcanvas.sip
src/app/composer/qgscomposerlegendwidget.cpp
src/app/qgisapp.cpp
src/core/composer/qgsatlascomposition.cpp
src/core/composer/qgscomposerattributetable.cpp
src/core/composer/qgscomposermap.cpp
src/core/composer/qgscomposition.cpp
src/core/composer/qgscomposition.h
src/core/diagram/qgsdiagram.h
src/core/diagram/qgshistogramdiagram.cpp
src/core/diagram/qgshistogramdiagram.h
src/core/diagram/qgspiediagram.cpp
src/core/diagram/qgspiediagram.h
src/core/diagram/qgstextdiagram.cpp
src/core/diagram/qgstextdiagram.h
src/core/qgsdiagramrendererv2.cpp
src/core/qgsdiagramrendererv2.h
src/core/qgsmaprenderer.cpp
src/core/qgsmaprenderer.h
src/core/qgsnetworkaccessmanager.h
src/core/qgspallabeling.cpp
src/core/qgsrenderchecker.h
src/core/qgsvectorlayer.cpp
src/core/qgsvectorlayer.h
src/core/qgsvectorlayerfeatureiterator.cpp
src/core/qgsvectorlayerfeatureiterator.h
src/core/raster/qgsrasterlayer.cpp
src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp
src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
src/core/symbology-ng/qgssymbollayerv2.cpp
src/core/symbology-ng/qgssymbollayerv2.h
src/core/symbology-ng/qgssymbolv2.cpp
src/gui/qgshighlight.cpp
src/gui/qgsmapcanvas.cpp
src/gui/qgsmapcanvas.h
src/gui/qgsmapcanvasitem.cpp
src/gui/qgsmaptoolidentify.cpp
src/plugins/georeferencer/qgsgeorefplugingui.cpp
src/providers/memory/qgsmemoryfeatureiterator.cpp
src/providers/ogr/qgsogrfeatureiterator.cpp
src/providers/ogr/qgsogrfeatureiterator.h
src/providers/ogr/qgsogrprovider.cpp
src/providers/oracle/qgsoraclefeatureiterator.cpp
src/providers/oracle/qgsoracleprovider.cpp
src/providers/postgres/qgspostgresconn.cpp
src/providers/postgres/qgspostgresfeatureiterator.cpp
src/providers/postgres/qgspostgresfeatureiterator.h
src/providers/wfs/qgswfsfeatureiterator.cpp
src/providers/wms/qgswmsprovider.cpp
src/providers/wms/qgswmsprovider.h
src/ui/qgsoptionsbase.ui
tests/src/core/CMakeLists.txt
tests/src/core/testqgscomposereffects.cpp
tests/src/core/testqgscomposerhtml.cpp
tests/src/core/testqgscomposerscalebar.cpp
tests/src/core/testqgscomposershapes.cpp
2014-02-18 11:28:46 +07:00
Martin Dobias
d4b1bb47f4
Reintroduce geometry caching while rendering (used esp. for snapping)
2014-01-20 17:47:19 +07:00
Martin Dobias
4493f513fd
Draw labeling also in parallel map renderer job
2013-12-04 00:13:33 +07:00
Martin Dobias
9d001853c0
Introduction of concept of feature sources for vector data.
...
Feature sources of providers/layers should act as immutable
snapshots of the state of provider or layer, not being affected
by any concurrent changes to provider or layer while the source is in use.
Currently working just with OGR, Postgres, SpatiaLite providers.
2013-12-03 12:26:47 +07:00
Martin Dobias
879f051601
Reporting of rendering errors, safer isActive() for custom painter job
2013-11-26 19:10:16 +07:00
Martin Dobias
5b6393f22f
Revived labeling and diagrams for vector layers
2013-11-20 18:48:24 +07:00
Martin Dobias
2fcf556c3c
Do the rendering of map layers within special classes
...
This is an important change: new class (QgsMapLayerRenderer) is introduced
and it keeps all information from layer which is necessary for rendering.
Thanks to that, any changes to map layer will have no impact on rendering that
may be currently underway: if the user changes renderer, rendering will
not crash because it is using a different instance.
Work in progress: only vector layers, no labeling, no diagrams, iterator
still uses some bits from QgsVectorLayer.
Another change: QgsFeatureRendererV2, QgsSymbolV2 do not get access
to QgsVectorLayer - only to fields they need. Point displacement renderer
did more extensive use of QgsVectorLayer - currently it is not functional.
2013-11-20 16:01:12 +07:00