3729 Commits

Author SHA1 Message Date
Nyall Dawson
702e1cc2b8 Add QgsFeedback arguments to QgsImageOperation blur methods to support
responsive cancelation of operations
2021-09-24 12:15:43 +10:00
Nyall Dawson
d838ce709e Allow a QgsFeedback object to be associated with a render context,
for cancelation check support

While there is the existing QgsRenderContext::renderingStopped()
check, this doesn't play well with other parts of QGIS which utilise
a QgsFeedback object for cancelation support. By adding support
for a proper QgsFeedback object in render contexts then it becomes
trivial to pass this on to feature requests, expression contexts,
and other potentially expensive functions so that these can
all be canceled responsively too.

(At some stage in the future we should consider deprecating
QgsRenderContext::rendereringStopped(), but that's not done here)
2021-09-24 12:15:43 +10:00
Loïc Bartoletti
48c77a3bde more const 2021-09-24 11:17:54 +10:00
Loïc Bartoletti
e7568f24ef const qgsrectangle 2021-09-24 11:17:54 +10:00
Loïc Bartoletti
c63c630c16 const qgsgeometryutils 2021-09-24 11:17:54 +10:00
Loïc Bartoletti
9e363a4aea more const in qgscircle 2021-09-24 11:17:54 +10:00
Sandro Mani
6fd34ca92b Add sip5/sip6 sip-build support 2021-09-24 08:56:40 +10:00
Loïc Bartoletti
1623d8e5a0 sipify 2021-09-24 08:54:47 +10:00
Even Rouault
d69d8e5cec qgsfileutils: add method to know if we are close to the limit of simultaneously opened files (refs #43620) 2021-09-24 08:30:51 +10:00
Nyall Dawson
cfaf56cb4b Add a minimal data provider for vector tile layers
Fixes #45153
2021-09-23 12:59:48 +10:00
Peter Petrik
46dbf8a0c4
Merge pull request #45186 from vcloarec/fixForcingLine
Improve mesh editing force by line UI and fixes
2021-09-22 12:38:29 +02:00
Loïc Bartoletti
6562817f39 QgsFeature::setId improve documentation with a warning. fixes #44898 2021-09-22 17:24:13 +10:00
Nyall Dawson
e6b39077a2
Promote QgsCoordinateTransform::TransformDirection to enum class, move to Qgis
This enum was forcing an include of qgscoordinatetransform.h within the
widely used qgsabstractgeometry.h header, causing an absolute explosion
of includes of a bunch of very heavy header classes all across QGIS. By
removing the forced include we can avoid a ton of unwanted includes
and make wider use of forward declarations...
2021-09-22 16:40:49 +10:00
vcloarec
939eca2055 Sipify 2021-09-21 23:47:43 -04:00
Nyall Dawson
0593a7b701 Fix geometry generator when used as symbol for annotation item 2021-09-22 11:45:01 +10:00
Nyall Dawson
57b2761c4c Fix doxygen warning 2021-09-22 11:45:01 +10:00
Nyall Dawson
72d238cc53 Ensure geometry generator symbol layer works correctly outside
of vector layer renderers

Fixes #39159
2021-09-22 11:45:01 +10:00
Sandro Santilli
acf302e7cd Add a distanceWithin method to the QgsGeometryEngine virtual class
And use it from QgsVectorLayerFeatureIterator

References #472

The current implementation is really just a wrapper around distance()
but opens the door for future improvements
2021-09-22 08:36:06 +10:00
Nyall Dawson
07111661b0 Fix color customisation is lost when configuring renderers using
geometry generators

Fixes #38377
2021-09-22 06:21:37 +10:00
Peter Petrik
b4ec12041f
Merge pull request #45140 from vcloarec/tuneMeshEditingWithAdvancedZvalue
Adapt mesh editing following new CAD Z value
2021-09-21 08:11:11 +02:00
Peter Petrik
ef2f404293
Merge pull request #45142 from vcloarec/verticesFacesCount
fix face/vertex count during editing
2021-09-21 08:10:39 +02:00
Nyall Dawson
3474909739 Use QgsPropertys for interpolated line renderer start/end width/color
expressions instead of raw expressions

We can greatly simplify the code by doing so, as all the handling
of preparing and optimising QgsPropertys are done automatically
for symbol layers.
2021-09-21 14:02:58 +10:00
Nyall Dawson
9e68b4542b Interpolated line renderer: don't assume that a feature is available
Instead we should ALWAYS use the provided points for rendering symbol
layers, or the symbol layer will be broken in various circumstances
(e.g. when used outside of a vector layer)

Fixes #45028
2021-09-21 14:02:58 +10:00
Nyall Dawson
cc240e1ca2 Fix a bunch of clazy/clang warnings in interpolated line renderer 2021-09-21 14:02:58 +10:00
Nyall Dawson
cd2a17f779 Create Qgis::SymbolLayerFlags, add flag for symbol layers to prevent
feature clipping to map extent
2021-09-21 14:02:58 +10:00
Nyall Dawson
d47dc4b210 Expose choice of units for geometry generator symbol layers
Usually a geometry generator expression must return a geometry
in the associated layer's CRS. But this doesn't work in situations
where a geometry generator symbol is NOT associated with a layer,
e.g. when used in a layout item.

So add a new option to allow users to specify which unit the expression
will return geometries in, with choices of map units (the default,
previous behavior), millimeters, pixels, inches and points.

When millimeters, points, inches or pixels is selected then
the @map_geometry variable will be available for the expression,
and contain the feature's geometry in the specified units (relative
to the map frame). (The $geometry variable remains available and
still in layer CRS, in case an expression needs to calculate the
original area, perimeter, etc in real-world units while returning
results in a different unit!)

A step toward fixing #39159
2021-09-21 09:49:52 +10:00
Nyall Dawson
3d599fe4b5 Fix QgsGeometry.fromPolygonXY docs
Fixes #45099
2021-09-21 09:14:52 +10:00
vcloarec
aa4258f8eb rename method 2021-09-20 14:49:41 -04:00
vcloarec
34408026ee fix face/vertex count during editing 2021-09-19 23:08:49 -04:00
vcloarec
bb09d06e2a use constraint cad Z value for mesh editing 2021-09-19 18:34:07 -04:00
rldhont
909859188c
Merge pull request #44862 from 3liz/metadata_api_july
Enable many MetadataUrl on the server side
2021-09-17 15:14:01 +02:00
David Marteau
aeab4e8b18
Rename 'clone' method to 'copyTo' 2021-09-17 12:19:42 +02:00
Nyall Dawson
850215f899 Add missing cast code for QgsHashedLineSymbolLayer 2021-09-17 15:15:32 +10:00
Etienne Trimaille
8b6395de85
MetadataUrls - Add some tests and some fixes 2021-09-16 14:23:46 +02:00
Etienne Trimaille
235a285814
MetadataUrl API : Save and restore in XML 2021-09-16 14:10:07 +02:00
David Marteau
ee6acb0ca2
Refactorize server properties 2021-09-16 14:10:07 +02:00
Etienne Trimaille
21c3f3fcbf
Add API for having many metadataUrl on a layer 2021-09-16 14:10:06 +02:00
Marco Hugentobler
055bcec072 Detect colors before parseValue method to avoid string missinterpreted as a color 2021-09-16 13:06:38 +02:00
vcloarec
a82b8d4d7f fix layer extent and vertical extent of dataset group when editing 2021-09-14 23:28:20 -04:00
Marco Hugentobler
2f274f0101 Make new parameter optional 2021-09-14 18:14:46 +02:00
Marco Hugentobler
93d3a2c629 Keep API compatibility for QgsMapBoxGlStyleConverter::interpolateExpression (although the comment says it is private API 2021-09-14 17:55:40 +02:00
Marco Hugentobler
94ab07c356 Cleanup 2021-09-14 17:09:03 +02:00
Vincent Cloarec
176ab29658
Make mesh edit tools more consistent with vector layers tools (#45040)
[mesh] UX fixes:
* move mesh elements click->move->click instead press-> drag->release
* allow to select by drawing a polygon and select an existing polygon in the same map tool like for vector layer)
2021-09-14 07:52:25 +02:00
Julien Cabieces
33ea556c0f fix version 2021-09-14 15:51:13 +10:00
Julien Cabieces
655c02afe4 Fix GetMap tile_buffer when labels are rotated 2021-09-14 15:51:13 +10:00
Nyall Dawson
50ab8c1c81 Cleanup API docs for QgsCadUtils 2021-09-13 13:22:28 +10:00
Loïc Bartoletti
2414a2884b add setCadPoint and cadPoint methods and fix test 2021-09-13 08:03:46 +10:00
Loïc Bartoletti
992dc6cc4d make AlignMapPointContext a class instead of a struct 2021-09-13 08:03:46 +10:00
Loïc Bartoletti
42794288ab 3.20 -> 3.22 2021-09-13 08:03:46 +10:00
Loïc Bartoletti
0706585e0f init zm support in QgsAdvancedDigitzingDockWidgetBase 2021-09-13 08:03:46 +10:00