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
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