364 Commits

Author SHA1 Message Date
Nyall Dawson
519c32a3ff Hold GIL for more methods 2023-08-03 15:27:22 +10:00
Nyall Dawson
c3159d5a28 Add method to get corners of QgsBox3D 2023-08-03 15:27:22 +10:00
Nyall Dawson
5bdbcc4f6c Add more helpful methods for 3d objects 2023-08-03 15:27:22 +10:00
Nyall Dawson
6c24fa8571 Add some more convenience methods for QgsOrientedBox3D 2023-08-03 15:27:22 +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
Martin Dobias
ecc1bf2c19 sip fix 2023-07-20 14:03:55 +02:00
Martin Dobias
e8f0e1cca1 fixes after rebase 2023-07-20 14:03:55 +02:00
Martin Dobias
5e3c230262 Small additions to QgsBox3d and QgsOrientedBox3D API
- operators to move QgsBox3d by a QgsVector3D
- reproject QgsOrientedBox3D and get its axis-aligned bounding box
- get length of sides of QgsOrientedBox3D
- transform QgsOrientedBox3D with a QgsMatrix4x4
2023-07-20 14:03:55 +02:00
Nyall Dawson
5967344117 Rename QgsBox3d to QgsBox3D for consistency, monkey patch in old
name for PyQGIS compatibility
2023-07-20 15:31:00 +10:00
Nyall Dawson
aafd4f96fe Add more efficient multipoint constructor which can avoid point cloning 2023-07-19 16:52:05 +10:00
Nyall Dawson
78ecd083d3 Add a bunch of optimised/easier to use constructor variants
for creating QgsMultiPoint objects
2023-07-19 16:52:05 +10:00
Nyall Dawson
9e5015aa47 Add equality operators for QgsOrientedBox3D 2023-07-18 12:35:45 +02:00
Nyall Dawson
8beb6a08c4 Add method to get corners of oriented box 3d 2023-07-18 12:35:45 +02:00
Nyall Dawson
c4b3608462 Rename to QgsOrientedBox3d 2023-07-16 14:43:38 +10:00
Nyall Dawson
8ca716907e Move QgsOrientedBoundingBox out to own file 2023-07-16 14:43:38 +10:00
Nyall Dawson
f5b4fbd9f1 Add QgsSphere::centerVector for returning center of sphere as a
vector
2023-07-16 14:43:38 +10:00
Nyall Dawson
5ab122bc62 Add new class QgsSphere for representing 3d spheres 2023-07-16 14:43:38 +10:00
bdm-oslandia
80a9043cad
qgsbox3d: Add combineWith methods 2023-07-06 14:12:02 +02:00
bdm-oslandia
1bae6ee1f1
qgsbox3d: Add a new contains method based on x,y,z coordinates 2023-07-06 14:12:02 +02:00
bdm-oslandia
58c161f1b5
qgsbox3d: Add is3D method 2023-07-06 14:12:00 +02:00
bdm-oslandia
06a09f83f3
qgsbox3d: Add support for toString method 2023-07-05 09:12:36 +02:00
bdm-oslandia
0773042adb
qgsbox3d: Add isEmpty method
This has is the following logic:

- QgSBox3d().isEmpty() == True
- QgSBox3d().isEmpty(0, 0, 0, 0, 0, 0) == True
- QgSBox3d().isEmpty(1, 1, 1, 1, 1, 1) == True
2023-07-05 09:12:36 +02:00
bdm-oslandia
0f961e890b
qgsbox3d: Add isNull method
This has is the following logic:

- QgSBox3d().isNull() == True
- QgSBox3d().isNull(0, 0, 0, 0, 0, 0) == False
- QgSBox3d().isNull(1, 1, 1, 1, 1, 1) == False
2023-07-05 09:12:36 +02:00
bdm-oslandia
6d1a08a5c3
qgsbox3d: Use nan for default values
This will be necessary to properly define `isNull` method in the next
commit.
This way, it behaves the same as `QgsPoint`.

Co-Authored by Jean Felder
2023-07-05 09:12:35 +02:00
bdm-oslandia
5293002ad3
qgsbox3d: Add a setMinimal method 2023-07-05 00:39:11 +02:00
bdm-oslandia
34e123e846
qgsbox3d: Add a normalize step parameter to the constructors
This allows to choose if a normalization step needs to be applied. It
is set to True by default to allow backward compatibility with the
api.
2023-07-04 17:32:10 +02:00
bdm-oslandia
48800e7802
qgsbox3d: Add 3d optional parameters to the QgsRectangle constructor 2023-07-04 17:32:10 +02:00
Nyall Dawson
4b673bf860 Improve documentation 2023-06-29 20:43:08 +10:00
Nyall Dawson
933db142c5 Add method to test whether 3 points are collinear 2023-06-29 20:43:08 +10:00
Nyall Dawson
b14d42d147 Add method to return the fraction along a line for a point 2023-06-29 20:43:08 +10:00
Denis Rouzaud
2a9b24e666
[pyqgis] fix calling QgsGeometry.splitGeometry with QgsPoint or QgsPointXY (#53202) 2023-05-24 22:34:26 +02:00
Nyall Dawson
e456d5a929 Fix hidden overloaded virtual warning 2023-04-09 14:38:28 +10:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Alexey Karandashev
30700f1ef1 Fix GeometryType in documentation:
QgsWkbTypes::GeometryType to Qgis::GeometryType
and QgsWkbTypes::<geometry>Geometry to Qgis::GeometryType::<geometry>
2023-03-31 10:28:36 +10:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Nyall Dawson
2dc4d04ac0 Add equality operators for QgsReferencedGeometry 2023-02-21 06:01:44 +10:00
Julien Cabieces
22d2a32e22 Fixes #50742 : keep ZM coordinates when simplifying geometry 2023-02-01 18:54:07 +01: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
Damiano Lombardi
619170e4a8 QgsVectorFileWriter map NaN to -DBL_MAX exporting to Shape 2022-11-15 14:02:45 +01:00
Tomas Johansson
95e00c50d2
Resolves 'Delete holes' bug when 'area' argument is used
Fixes #49578
2022-10-03 07:58:31 +10:00
Nyall Dawson
1c05421486 Cache summed up area for curve geometry classes
Avoids recalculation when area is retrieved multiple times
2022-09-28 15:58:22 +10: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
cde06e022b qgsgeometryengine.h: fix docstring including previsously missing params 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
Loïc Bartoletti
4fbc7a9e5f Fix dox. Add more descriptions and add gridSize documentation 2022-09-10 06:00:45 +10:00
Loïc Bartoletti
2dd6f9f1ee fix use prec when gridSize <= 0 2022-09-10 06:00:45 +10:00
Loïc Bartoletti
c0c631a9f9 Use precision if compiled with geos >= 3.9 2022-09-10 06:00:45 +10:00