746 Commits

Author SHA1 Message Date
Jean Felder
2db1f20af3 qgsvectorlayerelevationproperties: Add support for custom tolerance
This allows to define a custom tolerance. If this tolerance is
enabled, then this tolerance is used instead of the one defined in the
elevation profile widget.

This custom tolerance is enabled and set to 0 by default for Lines and
Polygons. Indeed, most of the time, only want to use the tolerance for
points.
2025-01-13 14:44:19 +01:00
Andrea Giudiceandrea
38ec9efe5e
[WFS] Fix filtering by QGIS expression in order to support "@geometry" (Fix #60094) (#60105)
Fix #60094
2025-01-11 17:23:28 +01:00
uclaros
d989f5981f adjust to use the new QgsPointCloudIndex class 2025-01-10 13:36:09 +01:00
uclaros
3e773e798e Point cloud editing part 1 2025-01-10 13:36:09 +01:00
Even Rouault
87b8299686 qgsvectorlayer.h: move a documentation section to the appropriate place
Cf https://lists.osgeo.org/pipermail/qgis-developer/2025-January/067278.html
2025-01-09 15:20:24 +01:00
Jan Caha
67bc6af0d5
Mesh editing delaunay refinement (#59560)
* add function delaunayConditionForEdge()

* undo command with delaunay refinement

* add delaunay refinement action

* add menu to button

* sipify

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix merge issues

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* access widget in test to directly change selected  value

* add tests

* fix docstring

Co-authored-by: Stefanos Natsis <uclaros@gmail.com>

* remove pass by reference

Co-authored-by: Stefanos Natsis <uclaros@gmail.com>

* pass by reference

Co-authored-by: Stefanos Natsis <uclaros@gmail.com>

* fix label, add tooltip

* avoid brute forcing through faces, use review suggestion instead

* add pass by reference

* sipify

* remove leftover

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Stefanos Natsis <uclaros@gmail.com>
2025-01-08 15:08:11 +02:00
Withalion
2a8cd537fa Fix issues introduced by PointCloudIndex refactor 2025-01-08 12:40:34 +01:00
Withalion
2bed2b7c3c Fix review issues 2025-01-08 12:40:34 +01:00
Withalion
1d3f3bbb21 Remake overview vpc options 2025-01-08 12:40:34 +01:00
Withalion
efa8912b0b Add option to change between VPC overview and extends 2025-01-08 12:40:34 +01:00
Matthias Kuhn
34a5dc6e8d
Merge pull request #60062 from nicogodet/typo-qgsgeometry
Fix small typo in QgsGeometry.constGet() docstring
2025-01-07 00:18:47 +01:00
David Koňařík
5c973b14cc Work around SIP bug 2025-01-06 21:31:40 +01:00
David Koňařík
4d86676c35 Fix SIP build errors by using /NoTypeName/
The typedef is only present in the .sip file, but without this
annotation SIP assumes it also exists in QGIS headers. This didn't
completely break the build, since we concatenate multiple SIP headers
into larger files, so the typedefs from one part "fixed" another. Run
sip-build without --concatenate to see the issue clearly.

This fix is currently sadly not fully effective due to a SIP bug:
https://github.com/Python-SIP/sip/issues/66
2025-01-06 21:31:40 +01:00
David Koňařík
b49f5ccd38 Expose QgsPointCloudIndex to Python 2025-01-06 21:31:40 +01:00
David Koňařík
252ab6ce12 Move QgsPointCloudAccessType to Qgis 2025-01-06 21:31:40 +01:00
David Koňařík
320ee6b374 Split point cloud index into implementation & wrapper 2025-01-06 21:31:40 +01:00
Nicolas Godet
f549d4c554
typo 2025-01-06 18:45:00 +01:00
Raymond
0706370468 fix typo: 254 -> 255 2024-12-31 13:19:42 +01:00
Nyall Dawson
a3f4b849f1 Support raster labels for resampled values across neighboring pixels 2024-12-18 19:12:29 +10:00
Nyall Dawson
c2d933579d Move resampling method enum to Qgis, promote to enum class 2024-12-18 19:12:29 +10:00
Nyall Dawson
d9d501a3d8 Fix see also link 2024-12-18 19:12:29 +10:00
Nyall Dawson
c33b8b276f Fix documentation 2024-12-18 19:12:29 +10:00
Nyall Dawson
14f625f59f [API] Add framework for raster labeling
Allows raster pixels to be labeled with the value taken from a raster
band.

Labels are registered with the labeling engine, so participate in
label conflict resolution and overlap avoidance

Options include

- Selection of band to take values from
- Using QgsNumericFormat to customise the number format for the labels
- Uses text renderer, so supports buffers, shadows, etc
- Label priority
- Scale dependant visibility
- Optional pixel size dependent visibilty, ie show only when pixels are
> 4mm in size
- Z index control, overlap avoidance mode

Fixes #14408
2024-12-18 19:12:29 +10:00
Nyall Dawson
75c8e3e2c4 Fix memory leaks in classification methods, use unique_ptrs 2024-12-18 13:21:06 +10:00
Harrissou Sant-anna
53e777fd97 Typo fix 2024-12-18 06:17:52 +10:00
Julien Cabieces
0fdb3508a5 api(Deprecated): Remove strong requirement on \deprecated
Because some method (only QgsGeometry::set actually) can be deprecated
only in python, not in C++. But \deprecated triggers the need for Q_DECL_DEPRECATED
2024-12-17 09:06:44 +01:00
Julien Cabieces
ed64834106 api(deprecated): add message to deprecated SIP annotation 2024-12-17 09:06:42 +01:00
Julien Cabieces
398f00bc26 doc(Deprecated): Fix missing \deprecated instruction 2024-12-17 09:05:46 +01:00
Jan Caha
2adaec6825
Mesh Render Extent Settings
This brings to renderer for Mesh Contours option to set renderer Min Max based on extent (specific canvas, changing canvas) in the same way as renderers for Raster Layer.
2024-12-17 12:46:50 +10:00
Nyall Dawson
9f4bb37824 [api] Add QgsVectorDataProvider::geometryColumnName
Allows easy retrieval of the geometry column name from the data
provider, if applicable.

(This was NOT possible to retrieve in a consistent, provider
independant way before)
2024-12-17 05:11:25 +10:00
Damiano Lombardi
3d4d5a2d02 sipyfy 2024-12-16 10:26:01 +10:00
Nyall Dawson
72f07dc851 Fix build 2024-12-15 11:37:53 +10:00
Nyall Dawson
59a76430dc Fix cppcheck errors 2024-12-14 11:09:20 +10:00
Nyall Dawson
e8cbab7034 Add missing transfer annotations 2024-12-13 05:24:22 +10:00
Nyall Dawson
0fff1f16b4 Add QgsStringUtils.containsByWord method
Given a candidate string, returns true if the candidate contains
all the individual words from another string, regardless of their order.
2024-12-12 18:39:46 +10:00
Julien Cabieces
ea95dfafda
Merge pull request #59809 from ptitjano/elevation-profile-raster-load
[elevation Profile] Correcly add a raster layer to an existing elevation profile widget
2024-12-11 15:55:09 +01:00
Jan Caha
254614b393
Mesh layer remove datasetgroup (#59382)
* add removeDatasetGroup() function for mesh data provider and mesh layer

* make dataset group names unique

* fix typo

* add mesh removing to the widget

* fix icon

* add check that added dataset group path is unique to avoid duplicate data and emit message if it is not

* sipify

* fix mistake

* check if uri is correct - just for case

* add tests

* add tests

* fix docstring

* add docstring

* add missing override

* explicitly convert number to string

* update tests to reflect that you cannot add same file as dataset group twice

* fix docstring

* pass by value

* fix docstrings

* const variables

* rename signal

* drop include

* simplify regex

* make test better

* sipify

* add docstring

* fix styling and typo

* fix tests

* fix precommit issues

* fix issue

* Update src/core/mesh/qgsmeshlayer.h

fix docstring

Co-authored-by: Stefanos Natsis <uclaros@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* const stuff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* sipify

---------

Co-authored-by: Stefanos Natsis <uclaros@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-11 16:06:17 +02:00
Alexander Bruy
0baab445c0
Merge pull request #59813 from nyalldawson/coverity
Coverity scan fixes
2024-12-11 13:54:56 +00:00
Jean Felder
cfc2418675
qgslayertreemodel: Fix layerFlagsChanged docstring 2024-12-11 11:02:35 +01:00
Matej Bagar
22fe235648
Virtual point clouds - Tile Labels (#59726)
* Add label rendering into VPC tiles

* Move tile labels rendering into QgsPointCloudExtentRenderer

* Rework showLabels flag once more & connect it to widget

* Add widget for label TextFormat WIP

* Rework and fix text format widget issues

* Improve default text format used in VPC labels

* Fix banned keywords issue

* Fix QgsTextFormat review issue

* Fix labels drawing efficiency issue

* Fix formating issues

* Fix review issues
2024-12-11 10:11:44 +01:00
Matt Fisher
313873d58e Regenerate SIP files 2024-12-11 15:11:35 +10:00
Nyall Dawson
53ceb20893
Fix coverity unchecked return value warning, improve docs 2024-12-11 06:40:14 +10:00
JuhoErvasti
c130eb7c3d Add \since to new functions 2024-12-10 09:56:33 +10:00
JuhoErvasti
b373c8b3aa Address review 2024-12-10 09:56:33 +10:00
Juho Ervasti
6b6a4d5549 Add unit selection for extent buffer 2024-12-10 09:56:33 +10:00
Juho Ervasti
bb737f3cac Disallow negative buffer 2024-12-10 09:56:33 +10:00
Juho Ervasti
13ee0bf5cf Apply suggestions from review 2024-12-10 09:56:33 +10:00
Juho Ervasti
e7a27d05c7 Fix style 2024-12-10 09:56:33 +10:00
JuhoErvasti
5c49205bd2 Add maximumExtentBuffer() function to QgsFeatureRenderer 2024-12-10 09:56:33 +10:00
JuhoErvasti
ccc7df5966 Add extent buffer property to QgsSymbol 2024-12-10 09:56:33 +10:00