18476 Commits

Author SHA1 Message Date
Nyall Dawson
bf8075ced6 [FEATURE] Allow symbol opacity to be data defined
While it was possible to set the opacity for individual symbol layer
colors via data defined expressions, it's so far been impossible to
set a data defined expression to control the overall symbol opacity.

This commit fixes that omission...
2020-11-18 17:45:45 +10:00
Nyall Dawson
af162a8c70
Merge pull request #40030 from NEDJIMAbelgacem/point-clouds-3d-gui
point-cloud 3D GUI
2020-11-18 16:53:46 +10:00
Nyall Dawson
8c45aad09e Mark method as const 2020-11-18 08:21:43 +10:00
NEDJIMAbelgacem
9655a1e8d0 sipify qgspointcloud3dsymbol 2020-11-17 17:22:44 +01:00
Nyall Dawson
7f9d90536a Ensure that all symbol layer types correctly respect the symbol's opacity
setting, even when the symbol layer has data defined colors set or involves
sub symbols (e.g. marker line symbols)

Fixes #18022
2020-11-17 19:00:31 +10:00
NEDJIMAbelgacem
43446920d2 Merge branch 'master' into point-clouds-3d-gui 2020-11-17 02:17:20 +01:00
NEDJIMAbelgacem
8faa5eee43 Address some of the reviews 2020-11-17 00:51:18 +01:00
Nyall Dawson
4e13ad5555 Spelling, dox 2020-11-16 19:38:07 +10:00
Nyall Dawson
0d3ccf7040 Move setting for maximum screen error to QgsPointCloudRenderer, expose in GUI 2020-11-16 19:38:07 +10:00
Nyall Dawson
28c2788989 Spelling 2020-11-16 19:38:07 +10:00
Nyall Dawson
1951489f25 Working gui for setting point cloud opacity and blend mode 2020-11-16 19:38:07 +10:00
Nyall Dawson
1758ca143f Add shell for 2d renderer config to layer styling dock 2020-11-16 19:38:07 +10:00
Nyall Dawson
055716064f More point cloud renderer widget framework 2020-11-16 19:38:07 +10:00
Nyall Dawson
090afdd636 Initial shell for QgsPointCloudRendererWidget 2020-11-16 19:38:07 +10:00
Nyall Dawson
bf8ccad89e Add contrast enhancement options for point cloud RGB renderer 2020-11-16 19:38:07 +10:00
Alessandro Pasotti
6cbbf5ebd1 DB manager: PG read enum value for sslmode
Fixes #38245
2020-11-16 13:13:21 +10:00
Even Rouault
a1c09b3eea qgsquerybuilder.h: add missing documentation on existing methods 2020-11-16 11:09:06 +10:00
Even Rouault
24eb319af2 [FEATURE] Add a subset string editor provider concept and registry
The aim of this work is to be able to provide custom subset string editor
GUI according to the layer. Typically, so that a WFS layer uses the same
editor than in its select source, or that a plugin can provide a custom
editor.

* Add QgsSubsetStringEditorInterface: abstract interface to define a dialog
  that can edit a subset string
* Make QgsQueryBuilder implement QgsSubsetStringEditorInterface
* Add QgsSubsetStringEditorProvider: interface for thos who want to provide
  a dialog to edit a subset string.
* Add QgsSubsetStringEditorProviderRegistry: keeps a list of subset string
  editor providers. Transposed from QgsDataItemGuiProviderRegistry
* Add QgsGui::subsetStringEditorProviderRegistry()
2020-11-16 11:09:06 +10:00
Even Rouault
e55107f85c QgsDataItem::createChildren(): fix SIP generated C++ method
The SIP_FACTORY annotation didn't do the job for a Python implementation
of createChildren(). We must write a custom VirtualCatcherCode to make
sure that if the returned QgsDataItem elements are Python objects they
aren't killed too early.

Fixes the new added test, which uses to crash before the fix,
and corresponds to the use case of a plugin defining its own data items.

Has been checked not to cause memory leaks.

The change of SIP_FACTORY to SIP_TRANSFERBACK is to avoid a memory
leak when Python calls a C++ createChildren() implementation. Was found
by making test_provider_ogr.py::testDataItems() loop on its call to
createChildren()
2020-11-16 08:57:42 +10:00
uclaros
72fea560ee Add edit-in-place algorithms to locator fuzzy search 2020-11-15 15:02:15 +10:00
vcloarec
7485141f84 fix lost of property definition 2020-11-15 14:59:50 +10:00
vcloarec
8e4d9ca905 fix datadefined ui 2020-11-15 14:59:50 +10:00
Even Rouault
b878ac9c85
QgsQueryBuilder: improvements for easier subclassing
- Make test() method virtual so it can be overriden in a derived class
- Make enabling/disabling of "use unfiltered layer" checkbox automatic
  when layer's subsetString is changed (for example by an overriden
  test() implementation)
- Add a codeEditorWidget() method that returns the sql editor widget,
  so that custom behavior can be added.
2020-11-14 13:22:36 +01:00
Nyall Dawson
278ccb8e85 Fix crash when trying to use meta enums on some platforms
Keeping references to static meta objects and meta enums around seems
to avoid the crash
2020-11-14 14:37:38 +10:00
Nyall Dawson
2dcbf95099 [3d] Add new material type "QgsNullMaterialSettings"
This is a "null" shading material which should be used when
rendering models or scenes with native textures and no material
should be explicitly set on the loaded entities.
2020-11-14 09:02:16 +10:00
Nyall Dawson
6224ea9b1c Add new 3d rendering technique enum value for TrianglesFromModel 2020-11-14 09:01:19 +10:00
NEDJIMAbelgacem
06f4d44c06 Merge branch 'master' into point-clouds-3d-gui 2020-11-13 16:16:45 +01:00
NEDJIMAbelgacem
c220bb47a3 Initial implementation of point-cloud 3D GUI 2020-11-13 15:58:41 +01:00
Nyall Dawson
0056bb1580 Proxy QgsRasterLayer::setOpacity/opacity to QgsRasterRenderer::setOpacity
This allows layer opacity for raster layers to be set and retrieved using
the exact same API as all other map layer types
2020-11-13 21:27:06 +10:00
Nyall Dawson
f3648ba3f6 Move getters and setters for layer opacity from QgsVectorLayer to QgsMapLayer
All the logic for rendering non-opaque layers is handled in a layer
type agnostic way already, so this just allows the existing handling
to be used for mesh/point cloud/vector tile/etc layers also
2020-11-13 21:27:06 +10:00
Alessandro Pasotti
8c06a1ac43
Merge pull request #39872 from elpaso/hidden-layers-bugfix
Hidden layers bugfix
2020-11-13 10:40:14 +01:00
Alessandro Pasotti
3f11294dfd
Merge pull request #39778 from elpaso/bugfix-gh39757-shared-locale-sort
Bugfix gh39757 shared locale sort
2020-11-13 10:38:49 +01:00
Giovanni Manghi
49f3fbded4
Fix SAGA Random Terrain tool
Fixes #39945
2020-11-13 05:53:56 +10:00
Even Rouault
bd32aa8fbb
Merge pull request #39942 from rouault/ogrprovider_featurecount
OGR provider: feature count improvements
2020-11-12 18:49:25 +01:00
Nyall Dawson
5158922428 Default to a RGB renderer for point clouds with Red/Green/Blue attributes present 2020-11-13 02:59:05 +10:00
Nyall Dawson
9b8da23896 Add missing file 2020-11-13 02:59:05 +10:00
Nyall Dawson
948a7dc9bc Move some common code to base class 2020-11-13 02:59:05 +10:00
Nyall Dawson
3ca572c0e3 2D RGB Renderer for point clouds 2020-11-13 02:59:05 +10:00
Nyall Dawson
a6d61c000a Start on registry for 2d point cloud renderers 2020-11-13 02:59:05 +10:00
Nyall Dawson
70e6cc7304 Implement QgsMapLayer methods required for saving/loading renderer properties 2020-11-13 02:59:05 +10:00
Nyall Dawson
1feccd1ea1 Add more methods to QgsPointCloudRenderer class 2020-11-13 02:59:05 +10:00
Nyall Dawson
1a2d6ec5d5 Add scale, offset and counter for points rendered to QgsPointCloudRenderContext 2020-11-13 02:59:05 +10:00
Nyall Dawson
2c59facf0f Don't copy dox from base class methods 2020-11-13 02:59:05 +10:00
Nyall Dawson
0169347f5b Hookup API for point cloud data providers to create default renderers for associated layers 2020-11-13 02:59:05 +10:00
Nyall Dawson
c2fe0d3749 Hook QgsPointCloudRenderer into QgsPointCloudLayerRenderer (non-functional for now) 2020-11-13 02:59:05 +10:00
Nyall Dawson
abbd634b44 API shell for QgsPointCloudRenderer 2d point cloud renderer 2020-11-13 02:59:05 +10:00
Nyall Dawson
8bb7edbbc6 Expose QgsPointCloudBlock to Python 2020-11-13 02:59:05 +10:00
Nyall Dawson
5924ff7cf5 Move guts of qgspointcloudrenderer.* to qgspointcloudlayerrenderer.* 2020-11-13 02:59:05 +10:00
Even Rouault
32608075e5
Add QgsDataProvider::ReadFlag::SkipFeatureCount and implement it in OGR provider to avoid featureCount() to be called 2020-11-12 15:28:43 +01:00
Nyall Dawson
3798f14673 Add filtering by attribute type to QgsPointCloudAttributeComboBox 2020-11-12 17:33:37 +10:00