Nyall Dawson
3f6b490218
Sipify
2025-04-02 11:11:10 +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
Martin Dobias
8511426304
doc and clang tidy fixes
2025-01-30 09:31:35 +10:00
Martin Dobias
a0414c4883
QgsChunkBoundsEntity: use 3D boxes in map coordinates + QgsGeoTransform
...
Until now, chunk bounds entity used axis-aligned bboxes in world coordinates (floats)
We are switching to bboxes in map coordinates (doubles) and we use
QgsGeoTransform to react correctly when the origin vector changes.
2025-01-30 09:31:35 +10:00
Martin Dobias
ae13cfea17
Add QgsBox3D tests and fix the implementation
2024-10-30 06:20:42 +10:00
Martin Dobias
4f183696b0
Make QgsChunkNode use doubles instead of floats for bounding boxes
...
- move from QgsAABB to QgsBox3D
- also switch from "world" coordinates (relative to 3d map scene origin,
and flipped axes) to map coordinates
2024-10-30 06:20:42 +10:00
Nyall Dawson
3a578d6712
Header update
2024-08-13 20:28:55 +10:00
Jean Felder
849df1bae4
qgsbox3d: Add support for set method
2024-07-11 17:43:00 +02:00
Jean Felder
180e2bd3e3
qgsbox3d: Add support for area method
2024-07-11 17:43:00 +02:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0'
2024-02-18 20:57:23 +01: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
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
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
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
c94463144c
Dox update for QgsBox3D
2022-05-26 06:20:32 +10:00
bdm-oslandia
52e130f699
Minor fixes
...
* QgsBox3d: fix scale function
* QgsLineString:
- add setPoints function with data arrays
- improve calculateBoundingBox3d
2022-05-26 06:20:32 +10:00
bdm-oslandia
f569f59cda
qgsbox3d: fix sipify
2022-05-26 06:20:32 +10:00
bdm-oslandia
8e6a8fc8bb
fix clipping for geocentric projections
2022-05-26 06:20:32 +10:00
Denis Rouzaud
ba8a445850
run sipify
2021-03-22 21:13:52 +01:00
Nyall Dawson
50b9beaad6
[sipify] Catch more class references and insert :py:class: annotations
2021-01-31 05:41:22 +10:00
Belgacem
2c9c6f94b9
fix somethings and testRayFromScreenPoint
2021-01-13 15:47:40 +01:00
Belgacem
59bb58f880
cleanup and fix symbol nullptr bug
2021-01-13 15:47:40 +01:00
Belgacem
0073c35b65
remove distanceFromPoint
2021-01-13 15:47:40 +01:00
Belgacem
a97ade0e88
address reviews
2021-01-13 15:47:40 +01:00
Belgacem
432f29be92
add pointsLimit and SIP
2021-01-13 15:47:40 +01:00
Belgacem
4f3f95a841
raycast intersection with node bounding box
2021-01-13 15:47:40 +01:00
Nyall Dawson
fe5615ea44
Hold the GIL for more geometry related methods
2020-09-18 11:50:27 +10:00
Nyall Dawson
b6d66becab
Sipify
2019-02-27 09:41:11 +10:00
Denis Rouzaud
ef1efebda4
forward declaration of QgsPoint
2018-10-09 11:48:33 -08:00
Denis Rouzaud
65bb60e96c
run sipify
2018-05-28 10:39:34 -08:00
Denis Rouzaud
7df2593caf
move auto generated sip file in dedicated folder
2018-05-14 10:23:37 -04:00