3944 Commits

Author SHA1 Message Date
vcloarec
434e7028dc filter before triangulation
no vertical filter before and remove exterior triangles


finalize


leftover


typo, const and other leftovers


fix big triangles filter


Stefanos review
2022-03-08 07:53:50 -08:00
Nyall Dawson
8b16383ff0 [api] Add support for reading individual frames from animated image
formats (gif/mng/webp) to QgsImageCache

The frames are correctly cached in the image cache, resulting in
super speedy retrieval after the first render
2022-03-08 13:49:24 +10:00
Nyall Dawson
ddf5cd57cc Allow extrusion to be disabled 2022-03-03 06:15:10 +10:00
Nyall Dawson
36dd3745f8 Add documentation note about binding vs point layers 2022-03-03 06:15:10 +10:00
Nyall Dawson
63e2d1ec16 Newly created 3d symbols for a vector layer default to inheriting
appropriate parameters from the layer's elevation settings
2022-03-03 06:15:10 +10:00
Nyall Dawson
cc24106d01 Add QgsMapLayerElevationProperties subclass for vector layers
Allows elevation properties to be set for vector layers, including:

- altitude binding
- altitude clamping
- extrusion
- scale
- offset

These properties can be set through the new "Elevation" tab in
the vector layer properties dialog
2022-03-03 06:15:10 +10:00
Nyall Dawson
5395d87d7f Move altitude clamping/binding enums to Qgis namespace, promote to enum
class
2022-03-03 06:15:10 +10:00
Nyall Dawson
2379de4a95 Add QgsMapLayerElevationProperties subclass for raster layers
Allows elevation properties to be set for raster layers, including:

- whether raster values represent heights
- scale
- offset

These properties can be set through the new "Elevation" tab in
the raster layer properties dialog
2022-03-03 06:15:10 +10:00
Denis Rouzaud
332d5808ff add default value and remove extra virtual 2022-03-01 12:09:47 +01:00
Denis Rouzaud
b192904e54 add helper method to avoid code duplication 2022-03-01 12:09:47 +01:00
Denis Rouzaud
d06b1f1ff9 replace setVariantValue method to avoid API break 2022-03-01 12:09:47 +01:00
Denis Rouzaud
44681dc841 sipify 2022-03-01 12:09:47 +01:00
Denis Rouzaud
87d0f518ff add qgsEnumList to list enum keys (and test) 2022-03-01 12:09:47 +01:00
Denis Rouzaud
fbd27bde8f explicitely call a checkValue method for a more meaningfull API 2022-03-01 12:09:47 +01:00
Denis Rouzaud
25262dadf7 create snapping mode setting + avoid confusion mode/type 2022-03-01 12:09:47 +01:00
Denis Rouzaud
f722ef641c fix dox 2022-03-01 12:09:47 +01:00
Denis Rouzaud
36a933bb2b move QgsSnappingConfig::SnappingTypeFlag + SnappingMode enum/flags to Qgis 2022-03-01 12:09:47 +01:00
Denis Rouzaud
1bd55ee237 simplify the API by removing extra method 2022-03-01 12:09:47 +01:00
Denis Rouzaud
3f88bd5002 further simplifications of template and implementations 2022-03-01 12:09:47 +01:00
Denis Rouzaud
08ada3aadf sipify + move sipify config file to ./python 2022-03-01 12:09:47 +01:00
Denis Rouzaud
2778276ff7 move QgsSettingsEntry::SettingsType to Qgis + create Qgis::SettingsOptions flags 2022-03-01 12:09:47 +01:00
Nyall Dawson
5df4882380 Fix exception when editing outputs in models 2022-02-28 19:57:15 +10:00
Nyall Dawson
1d97b4548a Add internal version handling for model algorithms
Allows us to change behaviour of model algorithms (e.g. output names)
for newly created models only, without risk of breaking existing
scripts
2022-02-28 19:57:15 +10:00
Nyall Dawson
817895d6d3 [processing] When an input parameter is renamed in the model designer,
also update the internal name of that parameter and all child algorithms
in the model accordingly

Before we just "faked" this by changing the parameter's description
only, but that meant that the old name was permenantly stuck and
had to be used in qgis_process or when calling the model via
python.
2022-02-28 17:33:19 +10:00
Nyall Dawson
caee2cabbd Add Qgis::MapLayerProperty flag for layers which should be considered
as "basemap" layers

This flag identifies if the layer is considered a 'basemap' layer, where
certain properties of the layer should be ignored when calculating
project-level properties. For instance, the extent of basemap layers
should be ignored when calculating the overall extent of a project,
as these layers are typically global and extend outside of a project's
area of interest.
2022-02-24 16:20:51 +10:00
Nyall Dawson
fc26342f04 Fix incorrect doc link 2022-02-23 15:16:33 +10:00
Ismail Sunni
0990b87e89 Make function static. 2022-02-23 11:38:45 +10:00
Julien Cabieces
2d2cd13c58
Merge pull request #47392 from signedav/fix_relref_nomodal
Avoid modal dialogs in relation reference /  relation editor
2022-02-21 09:10:49 +01:00
Nyall Dawson
11a8d40a86 Allow geometries to be set separate to features in expression contexts
Refs #46455 -- we need a way to separate these too, as we don't always
want $geometry to refer to a feature's geometry
2022-02-21 13:04:07 +10:00
Nyall Dawson
c264eb50f5 Clarify removal 2022-02-20 06:48:03 +10:00
Nyall Dawson
3332b27edd QgsFieldItem is only equal when the QgsField is also equal
Otherwise the field item will not be updated when the gpkg parent
item is refreshed and the field definition has changed (e.g.
the field type)
2022-02-20 06:48:03 +10:00
Nyall Dawson
f8bbcab8bb Add flag for browser data item to indicate that children of the item
must be refreshed whenever the item is refreshed

This behaviour is not automatic. The new flag allows items to opt-in,
so that their children WILL be automatically refreshed when the
item is refreshed.

Should be used sparingly only to avoid expensive work
2022-02-20 06:48:03 +10:00
Nyall Dawson
063e059359 Add API to QgsAbstractDatabaseProviderConnection to create new field
domains on a database and set field domain associated with a field

And implement for OGR database provider connection class
2022-02-20 06:48:03 +10:00
Nyall Dawson
4a7fb87af5 [feature] Add browser properties page for field and fields items
In particular, this allows users to easily see what field domain
may be attached to particular fields
2022-02-20 06:48:03 +10:00
Nyall Dawson
e5a0d13ea4 Add domain name to QgsFieldConstraints 2022-02-20 06:48:03 +10:00
Nyall Dawson
a7b6b41fad Add docs 2022-02-20 06:48:03 +10:00
Nyall Dawson
8cd9b80149 Add browser properties widget for showing the properties of an existing
field domain
2022-02-20 06:48:03 +10:00
Nyall Dawson
1729ab1bc5 Add python file 2022-02-20 06:48:03 +10:00
Nyall Dawson
8036ea89ed Add API to retrieve field domain names and definitions to QgsAbstractDatabaseProviderConnection
and implement for GPKG connections
2022-02-20 06:48:03 +10:00
Nyall Dawson
3d9a74176e More repr 2022-02-20 06:48:03 +10:00
Nyall Dawson
2be52d9df9 Create QgsFieldDomain and subclasses which directly represent
the GDAL field domain coded value/range/glob domains
2022-02-20 06:48:03 +10:00
Nyall Dawson
237152e5ff [feature][labeling] Allow data-defined control over line anchor type
Allows data-defined control over whether the 'hint' or 'strict'
anchoring type is used
2022-02-20 06:47:15 +10:00
Nyall Dawson
a578ecb33a Add QgsFields()['field_name'] getter for PyQGIS
A nice shorthand way to retrieve a field definition by name, instead
of having to determine the field index first.
2022-02-19 09:00:43 +10:00
signedav
033b02b65c fix typo 2022-02-16 12:24:27 +01:00
signedav
7dac040b47 reenter lost override keyword and some docs 2022-02-16 12:05:47 +01:00
signedav
f971a47b67 Do dialogs not open modal since otherwise the canvas are blocked and we are not able to collect geometries.
Pass widget as parent to the dialog to avoid "orphaned" child dialogs. The widget is passed as parent to QgsFeatureAction. When creating a dialog the widget is passed as parent to the dialog and the dialog is set as parent to the QgsFeatureAction (last like before).
To avoid confusion with opened dialogs the parent's visibility is set to hidden, when child dialog is opened.

This fixes #47193
2022-02-16 09:24:11 +01:00
Nyall Dawson
29a59e70bf Add method to test whether model file name matches model name 2022-02-05 11:05:51 +10:00
Andrea Giudiceandrea
ed9bb49ff1 Add 'Stepped Line' and 'Hollow' styles to QgsLayoutItemScaleBar::setStyle() docs 2022-02-03 20:51:53 +10:00
Nyall Dawson
e46875b9b6 QgsDistanceArea::bearing can raise QgsCsExceptions, so ensure that
these are always gracefully caught

Avoids some unwanted "unhandled exception" message boxes which
can pop up while moving the mouse around outside of the valid bounds
of the current map projection
2022-02-03 06:19:50 +10:00
Nyall Dawson
01f0130ffb Remove unused qgsCalloc function 2022-02-02 07:44:13 +10:00