3729 Commits

Author SHA1 Message Date
nirvn
6a37ee72fa [FEATURE][symbology] Add coordinate reference mode (i.e. pattern alignment) to line pattern and point pattern symbol layer types 2021-10-22 22:45:33 -07:00
Nyall Dawson
b56e86181c [feature][symbology] Add option to control marker clipping for
point pattern fill

A new option exposes the ability to clip markers in the fill by:

- "Clip to shape": default behaviour, same as previous versions. Markers
are clipped so that only the portions inside the polygon are visible
- "Marker centroid within shape": only markers where the center of
the marker falls inside the polygon are drawn, but these markers
won't be clipped to the outside of the polygon
- "Marker Completely Within Shape": only markers which fall
completely within the polygon are shown
- "No clipping": any marker which intersects at all with the polygon
will be completely rendered

The clipping mode can be overridden via a data driven expression if
desired.

Sponsored by North Road, thanks to SLYR

Fixes #37825
2021-10-23 12:58:13 +10:00
Nyall Dawson
7c03c9ec4a Calling QgsGeometry.asPoint on a multipoint with a single point part
should be allowed
2021-10-23 05:18:09 +10:00
Nyall Dawson
430c5b24b0 [api] Add methods to create triangular, square, and sine-like waves
along a geometry's boundaries

also includes variations on these which allow for randomized
triangle/square/sine-like waves, with amplitude and wavelength
randomly generated using a specified range
2021-10-23 05:17:07 +10:00
Nyall Dawson
6453d5f35a Condense duplicate enums 2021-10-23 05:16:41 +10:00
Nyall Dawson
999213f97e Complete documentation for QgsPointPatternFillSymbolLayer 2021-10-23 05:16:41 +10:00
Nyall Dawson
fc0d1869bc Promote some symbol layer enums to enum classes, move to Qgis 2021-10-23 05:16:41 +10:00
Juergen E. Fischer
c6008b7ee1 fix MSVC build: reverts fee62e4, dff05dd and e3a77b9484c effectivly
reverting 3fb0f66 (followup #45348)

Using --no-public-is-protected (default on Windows) also works on Linux
and fixes #45331 too
2021-10-21 23:03:48 +02:00
nirvn
7cc5533f7d [api] Provide a mean to know whether QgsVectorLayerUtils' guessFriendlyIdentifierField function picked a friendly identifier 2021-10-18 22:07:37 -07:00
Sandro Santilli
27ae2c9516 Avoid re-preparing geos geometry from QgsVectorLayerFeatureIterator
Does so by exposing a referenceGeometryEngine method to
QgsFeatureRequest and copying the engine rather than creating
a new one on each iteration.
2021-10-18 15:26:33 +02:00
Etienne Trimaille
4284beb004 Add API in expression to set help string on a variable 2021-10-16 06:36:15 +10:00
Vincent Cloarec
697f2bc474
Improve robustness of mesh editing (#45497)
* renaming and typo

* QgsMeshEditor:checkConsistency returns error

* change approach for remove vertex filling hole on boundary

* split QgsMeshEditor::removeVertex (with/without filling holes)

* check edited mesh before saving

* send start/save editing message to message bar
2021-10-15 08:43:51 -04:00
Nyall Dawson
57fda412fa Further fixes to ensure geometry generator symbol icons are correctly
generated
2021-10-12 17:40:37 +10:00
nirvn
ce49784823 All public now 2021-10-12 16:34:05 +10:00
nirvn
ef84e48a09 Run sipify_all.sh 2021-10-12 16:34:05 +10:00
Denis Rouzaud
ec16736306 run sipify 2021-10-12 16:34:05 +10:00
Nyall Dawson
e8bb89855d Update tests 2021-10-12 14:54:26 +10:00
Nyall Dawson
e733b517b3 Split QgsVertexId out to own file, promote type to enum class 2021-10-12 14:54:26 +10:00
Alessandro Pasotti
8cc230d8a0 Add action info to the form d&d panel 2021-10-12 05:31:33 +10:00
Vincent Cloarec
a840cbf98c
fix aggregate functions with mesh virtual dataset group (#45446) 2021-10-11 08:28:11 -04:00
Loïc Bartoletti
18a782f1fb
Merge pull request #45272 from lbartoletti/geometryvalidator_curve_support
[FIX] GeometryValidator init curve support
2021-10-11 12:11:08 +02:00
Vincent Cloarec
d16cced882
fix time handling of mesh layer when gap of reference time (#45456)
fix time handling of mesh layer when gap of reference time
2021-10-11 11:31:08 +02:00
Nyall Dawson
1f73983725 Expose some useful API from QgsLegendPatchShape 2021-10-11 12:03:13 +10:00
Vincent Cloarec
56b9d808ff
add missing text for mesh editing undo/redo 2021-10-10 13:43:59 -04:00
vcloarec
99a832ef1e fix null temporal properties 2021-10-05 22:45:47 -04:00
Nyall Dawson
b48d7dcc9f Don't reset mesh layer styling when changing data source for layer
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
2021-10-05 22:45:47 -04:00
Nyall Dawson
b54001c358 Copy output image format and output size to QgsRenderContext
These QgsMapSettings properties are useful to rendering operations
to use when they need to create temporary QImages during the
rendering
2021-10-02 07:16:40 +10:00
Loïc Bartoletti
6c76bb1219 sipify 2021-10-01 09:53:06 +02:00
vcloarec
812bbf9e96 other approach 2021-10-01 09:53:05 +02:00
Loïc Bartoletti
efb082b520 sipify 2021-10-01 09:53:05 +02:00
Juergen E. Fischer
f76af64fba msvc build fixes 2021-09-29 23:49:33 +02:00
Juergen E. Fischer
b843556719 fix msvc build 2021-09-28 21:40:49 +02:00
Even Rouault
08ad87f123
Merge pull request #45262 from nyalldawson/provider
Always pass on transform context to providers, even minimal ones
2021-09-28 21:20:53 +02:00
mhugent
de5ab2948f
Merge pull request #45037 from mhugent/mvt_expressions_interpolate
Mvt expressions interpolate
2021-09-28 10:49:35 +02:00
Nyall Dawson
bbd8a5c902 Add option not to overwrite existing property in
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
2021-09-28 13:25:54 +10:00
Nyall Dawson
094302d9e1 Correctly handle transform context for vector tile layers 2021-09-28 10:45:51 +10:00
Nyall Dawson
c3ac518912 Spelling 2021-09-28 08:57:44 +10:00
Nyall Dawson
51cb63feec Add a target dpi argument to QgsImageCache
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.
2021-09-28 08:57:44 +10:00
Loïc Bartoletti
c917e2219b sipify 2021-09-27 14:51:36 +02:00
Nyall Dawson
f2856db943 Implement a more robust way of limiting sizes for symbol preview icons 2021-09-27 11:42:33 +10:00
Nyall Dawson
4f3efc11f8 spelling 2021-09-27 11:42:33 +10:00
Nyall Dawson
d3792a9f16 Add QgsMapToPixel::isValid() to determine if a map to pixel is default
constructed with no parameters set or not
2021-09-27 11:42:33 +10:00
Nyall Dawson
2fc60fcd7f Fix compatibility of moved QFLAGS 2021-09-26 11:24:51 +10:00
Nyall Dawson
0ab6113e88 Promote QgsMapSettings and QgsRenderContext enums to enum class, move to Qgis 2021-09-26 11:24:51 +10:00
Antoine
68f003cb62 replace descriptionAsPythonString 2021-09-25 06:57:43 +10:00
Antoine
968db20b82 add \see and \since in comments 2021-09-25 06:57:43 +10:00
Antoine
968a5e8532 add method to get parameter description for python script 2021-09-25 06:57:43 +10:00
Nyall Dawson
db4b0fed86 Move to core 2021-09-24 15:47:10 +10:00
Nyall Dawson
7027d72b3d Spelling 2021-09-24 12:15:43 +10:00
Nyall Dawson
806735ccae Implement responsive cancelation for more paint effect operations 2021-09-24 12:15:43 +10:00