178 Commits

Author SHA1 Message Date
Nyall Dawson
71420a5628 Cleanup global constants
- Deprecate global geographic crs strings, these should not be used
- Move some global constants to Qgis, and monkey patch for
  API compatibility
- Deprecate global qgsVsiPrefix. Use QgsGdalUtils::vsiPrefixForPath()
  instead
2025-04-03 11:44:59 +10:00
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
Nyall Dawson
632d196e62 Don't show useless "available in python as" notes in PyQGIS docs
Since the method name used in the docs is ALREADY the python version!
2025-02-28 18:32:09 +10:00
Nyall Dawson
a152cbecdb
Fix numerous leaks in sip method code
From the sip documentation:

    If state is not NULL then the location it points to is set to
    describe the state of the returned C/C++ instance and is the
    value returned by any %ConvertToTypeCode. The calling code
    must then release the value at some point to prevent a memory
    leak by calling sipReleaseType().

These methods were only calling sipReleaseType in the case that
an error occurred, which is incorrect -- it should always be
called.
2025-02-17 10:42:19 +10:00
Nicolas Godet
f549d4c554
typo 2025-01-06 18:45:00 +01: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
Nyall Dawson
2fcd8b99b5 Fix crashes on newer GEOS with empty polygon rings
There was a previous fix for this protecting some geos calls, but
on newer GEOS versions we get crashes with other methods (eg
calculating centroid) when using geos geometries with empty
interior rings.

Avoid this by ALWAYS defaulting to skipping empty rings when
creating GEOS polygons, UNLESS explicitly asked to. Then, only
explicitly ask to do this when we are using GEOS to validate
a geometry. In all other cases we don't need or want empty rings.
2024-10-26 04:49:56 +10:00
Nyall Dawson
b39f760cbc
Correctly handle multiline SIP_OUT param documentation 2024-09-10 11:11:25 +10:00
Jean Felder
59e12d50ae qgsgeometry: Use QgsPolyhedralSurface in fromBox3D 2024-09-09 06:16:25 +02:00
Nyall Dawson
94f6e9c71b Correctly handle \param[in,out] in sipify 2024-09-04 13:54:39 +10:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
765cbb32db Standardise some deprecated annotations 2024-09-02 11:42:12 +10:00
Denis Rouzaud
ba46a95aca
wedge buffers support start and end angles (#58473) 2024-08-30 15:07:08 +02:00
Nyall Dawson
49d31fa527 Fix some malformed docs 2024-08-30 05:47:07 +10:00
Nyall Dawson
bc52832b47 Lazily hack around markdown title underline not being long enough
Causes a bunch of warnings when building the PyQGIS docs
2024-08-28 11:58:21 +10:00
Nyall Dawson
8b04562ba7 Avoid fragile reg for argument removal 2024-08-14 13:05:46 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
be8dce7d0d Valid improvements from new sipify 2024-08-13 20:28:55 +10:00
Nyall Dawson
6f652d251b Drop no-value copy constructor dox 2024-07-25 04:02:55 +10:00
Nyall Dawson
d4ddd04efe Add missing HOLDGIL annotation for QgsGeometry::isEmpty 2024-06-12 13:50:13 +02:00
Jacky Volpes
ab663b485b Use WkbType instead of GeometryType enum for addPart
Deprecating QgsGeometry::addPart in favor of QgsGeometry::addPartV2
to use Qgis::WkbType instead of Qgis::GeometryType because the latter
can't handle curved geometries (not specific enough).

Fixes #57255
2024-06-03 19:40:48 +02:00
Jean Felder
1a4e1a77e7 qgsgeometry: Add contains method from x,y coordinates 2024-04-03 20:38:40 +02:00
uclaros
9796d3766b update topological point snap threshold 2024-03-13 15:37:06 +01:00
uclaros
bf8433bf6d Fix splitting when snapping to segment is used 2024-03-12 09:13:51 +01:00
Even Rouault
f3ef66d073
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-19 11:35:07 +01:00
Even Rouault
02caeb9db7
Header files: remove all mentions of '\since QGIS 2.' 2024-02-18 20:46:01 +01:00
Even Rouault
a5c8f01003
Header files: remove all mentions of '\since QGIS 1.' 2024-02-18 20:46:00 +01:00
Nyall Dawson
45e51c2a55 Expose GEOS constrainedDelaunayTriangulation to QgsGeometry
Allows calling this method when QGIS is built against supported
GEOS versions (>= 3.11)
2024-02-10 08:04:51 +10:00
Loïc Bartoletti
67ea128ee0 DOX: better wording for createGeometryEngine
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2024-02-06 10:28:53 +01:00
Loïc Bartoletti
f5db8a765f QgsGeos: Add precision when createGeometryEngine 2024-02-06 10:28:53 +01:00
Loïc Bartoletti
361fbded94 QgsGeometry: use NoOrientation enum and fix some possible nullptr uses 2023-11-24 09:18:02 +00:00
Loïc Bartoletti
0f27fd3b1e QgsGeometry: add methods to return orientation 2023-11-24 07:43:24 +00:00
Nyall Dawson
25b75353b5 Add coverage union algorithm 2023-11-02 22:03:20 +10:00
Nyall Dawson
c8eefd0558 Expose GEOS coverage simplify as a processing algorithm 2023-11-02 22:03:20 +10:00
Julien Cabieces
29f19dafc6 fix sip 2023-09-27 18:39:19 +02:00
Julien Cabieces
7ef5717c7a add deprecated instructions 2023-09-25 11:12:15 +02:00
Julien Cabieces
5315ae6cc5 make avoidIntersections return an enum 2023-09-25 08:42:03 +02:00
Jean Felder
cdc2abea90 qgsgeometry: Add support for 3D boundingbox 2023-09-02 12:38:44 +10:00
bdm-oslandia
e0f71afeaa
qgsgeometry: Add fromBox3D constructor 2023-07-26 09:17:17 +02:00
bdm-oslandia
4c23966008
qgsgeometry: Add fromPoint constructor 2023-07-26 08:58:49 +02:00
Denis Rouzaud
2a9b24e666
[pyqgis] fix calling QgsGeometry.splitGeometry with QgsPoint or QgsPointXY (#53202) 2023-05-24 22:34:26 +02:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Even Rouault
0c8f0106da
Add QgsGeometry::convertToCurvedMultiType() 2023-01-04 00:07:49 +01:00
Antoine Facchini
864ed43b7c feat(avoidIntersections): add a new return value when the geom is not modified 2022-11-29 17:48:32 +01:00
Nyall Dawson
a4a0e10902 Use QgsGeometryParameters class for specifying grid size instead
of dedicated arguments
2022-09-10 06:00:45 +10:00
Loïc Bartoletti
9c5821a8c1 qgsgeometry.h: subdivde: add previously missing \param for maxNodes 2022-09-10 06:00:45 +10:00
Loïc Bartoletti
2ce57c4037 qgsgeometry.h: fix docstring including previsously missing geometry param 2022-09-10 06:00:45 +10:00