This breaks fixing mesh layer paths when restoring projects with
broken mesh layers -- fixing the path causes the existing style
to be lost.
Fixes#45391
QgsAuxiliaryLayer::createProperty(*)
Instead, if a property already exists it will be upgraded to
an expression based property of the form:
coalesce("new aux field", 'existing' || 'property' || 'expression')
(i.e. allow per-feature value overrides from the auxiliary field,
but by default fallback to the existing property definition)
Refs #44475
This allows callers to specify the desired rendering resolution of the
image when they aren't explicitly requesting a preset image size.
It can be used for image drivers for formats which don't have a fixed
size (e.g. pdf) so that the image is rendered in the desired resolution.
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)
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...
And use it from QgsVectorLayerFeatureIterator
References #472
The current implementation is really just a wrapper around distance()
but opens the door for future improvements
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.
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