Alessandro Pasotti
ce4c5bd7de
MSSQL: fix add/fill ring
...
Fix #53698
Funded by: All My Favourite Things ♬
2023-12-13 11:24:57 +01:00
Loïc Bartoletti
4a353d1a12
Marks deprecated methods in QgsGeometryUtils redundant with QgsGeometryUtilsBase
2023-12-01 11:17:11 +01:00
Loïc Bartoletti
8025f72fa7
QgsGeometryUtils_base: add this class available in Python binding
2023-12-01 11:17:11 +01:00
Loïc Bartoletti
ac3e73e25c
[refacto] QgsGeometryUtils: move base methods to a dedicated class
...
Refactor QgsGeometryUtils to separate "basic" methods from those involving QGIS
composite types.
By "basic" methods, we refer to those that only require doubles or (qgs)vectors.
These methods are now encapsulated in their dedicated classes and can be called
from anywhere to prevent duplications in certain methods (in particular Cartesian distance calculation).
To maintain API compatibility, all methods are also accessible in QgsGeometryUtils
which acts as a pass-through to QgsGeometryUtilsBase.
2023-12-01 11:17:11 +01:00
Loïc Bartoletti
3ab676e603
QgsGeometryUtils: move 2D distance code into QgsGeometryUtils.h and uses it
2023-12-01 11:17:11 +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
dubravat
e1ba6f5272
Mistype in QgsGeometryUtils::segmentSide description was fixed
2023-11-23 08:28:20 +10: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
Sandro Santilli
f42699979c
Drop the temporary QgsRectangle::createNull static, not more needed
2023-10-23 10:07:42 +10:00
Sandro Santilli
1df4c52321
Add a QgsRectangle::createNull() temporary static method
2023-10-21 16:07:32 +13:00
Sandro Santilli
94ef53286b
Rename QgsBox3d::setMinimal() to setNull()
...
The method was introduced in this version so it should be ok to
rename with no formal deprecation notice
2023-10-20 07:03:55 +13:00
Sandro Santilli
0ec5f0debb
Add QgsRectangle::setNull(), deprecating setMinimal()
2023-10-20 07:03:55 +13: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
d7bdfe000c
geometry: Remove duplicated 2d boundingbox logic
2023-09-02 12:38:44 +10:00
Jean Felder
cdc2abea90
qgsgeometry: Add support for 3D boundingbox
2023-09-02 12:38:44 +10:00
bdm-oslandia
40089e6230
qgsabstractgeometry: Add support for box3d intersection
2023-09-02 12:38:44 +10:00
bdm-oslandia
5774acf8d0
qgsabstractgeometry: Add boundingBox3D logic
...
With this change `QgsAbstractGeometry::calculateBoundingBox()` is now
computed from `QgsAbstractGeometry::calculateBoundingBox3D()`.
2023-09-02 12:38:44 +10:00
Nyall Dawson
22fd8d9698
Add method to detect whether two QgsOrientedBox3Ds intersect
2023-08-03 22:13:03 +10:00
Nyall Dawson
5b0b7e3c2f
Add repr for QgsBox3D, QgsOrientedBox3D
2023-08-03 15:27:22 +10:00
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