339 Commits

Author SHA1 Message Date
Nyall Dawson
f9f2aa40f0 Move symbol to QgsMeshTerrainSettings 2024-12-13 14:21:51 +10:00
Nyall Dawson
e550ea7670 Move configurateTerrainFromProject to registry 2024-12-13 14:21:51 +10:00
Nyall Dawson
be19042d1d Terrain settings can create generators 2024-12-13 14:21:51 +10:00
Nyall Dawson
25313dd530 Registry can create terrain generators 2024-12-13 14:21:51 +10:00
Nyall Dawson
c1bd66a54d Online DEM 2024-12-13 14:21:51 +10:00
Nyall Dawson
ed9b2784b0 Quantized mesh settings 2024-12-13 14:21:51 +10:00
Nyall Dawson
293b7afadd Implement a registry for terrain objects 2024-12-13 14:21:51 +10:00
Nyall Dawson
8af23b1002 Initial framework for terrain settings refactoring 2024-12-13 14:21:51 +10:00
qgis-bot
f4975103b6 auto sipify 🍺 2024-12-11 09:22:49 +00:00
Denis Rouzaud
7306e5b170
Merge branch 'master' into more-clang 2024-12-11 07:53:23 +01:00
qgis-bot
98c5bf8bcd auto sipify 🍺 2024-12-10 15:43:17 +00:00
Denis Rouzaud
30ea619861
sipify 2024-12-10 14:52:35 +01:00
qgis-bot
eb1ce83af1 auto sipify 🍺 2024-12-03 07:47:10 +00:00
Nyall Dawson
0dbf6e730b Add equality operator for QgsMesh3DSymbol 2024-11-27 10:53:53 +10:00
qgis-bot
96984ac6a6 auto sipify 🍺 2024-11-26 10:08:44 +00:00
Nyall Dawson
eb750fb7a8 Use doubles for properties in QgsAbstractMaterialSettings subclasses
These classes are supposed to store the original setting values,
so doubles are more appropriate as they won't slightly change
eg when round-tripping through qgis project XML.

(The actual 3d material classes still use floats, this is just
for the settings classes)
2024-11-26 20:05:30 +10:00
Nyall Dawson
0dc89613df Expose equals method for QgsAbstractMaterialSettings subclasses 2024-11-26 20:05:30 +10:00
Nyall Dawson
373b48ce10
Expose QgsMesh3DSymbol to Python 2024-11-26 14:42:21 +10:00
qgis-bot
eacf823601 auto sipify 🍺 2024-11-25 16:19:42 +00:00
Martin Dobias
6defbc68c4 Review: add missing \since 2024-11-25 17:16:28 +01:00
Martin Dobias
60554195dc Add possibility to shift origin of 3D map scenes
This introduces a new class QgsGeoTransform (derived from QTransform)
that keeps chunk's translation vector as a QgsVector3D (i.e. in double
coordinates) and if there is a shift of the origin, 3D map scene and
chunk entities react to it by adjusting the underlying QTransform.
2024-11-25 17:16:28 +01:00
Jean Felder
dfce7dc231 qgs3dmapscene: Compute max clip planes
The number of available clip planes depends on the OpenGL
implementation.

This change Introduces a new function in Qgs3DUtils function called
`Qgs3DUtils::getOpenGLMaxClipPlanes` to compute this
number (`GL_MAX_CLIP_PLANES`) and use it in the 3D scene.

See: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glClipPlane.xml
2024-11-21 17:08:41 +01:00
qgis-bot
14ab3d40de auto sipify 🍺 2024-11-21 08:33:56 +00:00
Withalion
5f6259ac10 Fix issues found in review 2024-11-21 09:30:45 +01:00
Withalion
1551449df3 Move debug panel icon from toolbar
Debug panel in 3d map view can be set in advanced settings or by
keyboard shortcut CTRL + SHIFT + d
2024-11-21 09:30:45 +01:00
Withalion
c76455bcc6 Add stop updates checkbox in 3D View options 2024-11-21 09:30:45 +01:00
Nyall Dawson
aaf4b90911
Fix malformed docstrings (#59244)
* Fix malformed docstrings

Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/188

* Fix malformed docstrings

* Fix more malformed docs
2024-10-28 14:29:21 +01:00
qgis-bot
afc3e8d41c auto sipify 🍺 2024-10-25 18:38:36 +00:00
Martin Dobias
68a76bc407 Update python/3d/auto_generated/symbols/qgspoint3dsymbol.sip.in
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2024-10-26 04:35:12 +10:00
Martin Dobias
04d5369d4d Fix sip bindings 2024-10-26 04:35:12 +10:00
qgis-bot
94411b5fcd auto sipify 🍺 2024-10-17 08:34:52 +00:00
Jean Felder
e38ac6c7b9 qgs3dmapscene: Add support to setup clipping
This adds two functions to setup clip planes on a 3d scene:
- enableClipping() to enable opengl clipping
- disableClipping() to disable opengl clipping

The `enableClipping()` function achieves 3 things:
- it stores the clipping plane equations
- it adds clip planes to the framegraph
- it enables the clipping on the material of the existing entities

`disableClipping()` does the opposite things.

The clip planes equations need to be stored to handle the dynamic
addition of new entities. Indeed, when a new entity is added, clipping
needs to be enabled on its material if necessary. This is achieved
in `finalizeNewEntity` which is called on all new entities.
However, this is not true for the terrain entity. That's why,
`mTerrain` now listens to the `newEntityCreated` signal to call
`handleClippingOnEntity()`.
2024-10-17 10:31:40 +02:00
qgis-bot
8f4da32b6b auto sipify 🍺 2024-10-02 22:13:35 +00:00
Martin Dobias
b02813e657 Add API to temporarily disable updates in 3D map scene
This is useful for debugging 3D views, to pause scene updates and
inspect some parts of the scene in detail.
2024-10-03 08:09:04 +10:00
qgis-bot
774399c3ea auto sipify 🍺 2024-09-12 07:21:24 +00:00
Alessandro Pasotti
987c38eda6
[auth][api] QgsAuthConfigurationStorage classes and tests (#57992)
Implementation of QEP 
Authentication System: allow Database storage for authentication DB
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/248
2024-09-12 09:18:15 +02:00
Nyall Dawson
f21722a0f1 [sipify] Minor cleanup to auto additions
Condense injections into a single block instead of multiple
separate blocks
2024-09-09 16:56:29 +10:00
Nyall Dawson
cfd251e7f7 Capture signal arguments 2024-09-08 16:06:22 +10:00
qgis-bot
d46973d9c1 auto sipify 🍺 2024-09-03 20:35:11 +00:00
Nyall Dawson
534ca73c59 Fix missing see also trailing notes in PyQGIS documentation 2024-09-04 06:32:03 +10:00
Nyall Dawson
0f1daa11f3 Fix formatting of some \see links 2024-09-04 06:32:03 +10:00
Julien Cabieces
94863b435e
Merge pull request #58534 from nyalldawson/fix_3d_import
Fix PyQGIS 3D module patching
2024-09-02 11:21:11 +02: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
Nyall Dawson
2af54ad057 Fix malformed python docstrings when enum value has \since annotation 2024-09-01 02:29:17 +10:00
Nyall Dawson
da317dd8de
Fix PyQGIS 3D module patching
The module patching for _3d was not working at all, because
the same logic which works for other modules with a private _module
copy clashed with the approach of exposing the public 3d module
as qgis._3d

Work around this by renaming the private internal module as _3d_p,
so that the monkey patching logic from sip is correctly run
when the module is loaded.

Fixes broken API in 3d module for renamed enums, and fixes the
broken PyQGIS doc for the 3d module
2024-08-30 11:57:42 +10:00
qgis-bot
9a3809de82 auto sipify 🍺 2024-08-28 02:41:19 +00:00
Nyall Dawson
e161d0bd60 Enforce thread safety for Qgs3DMapSettings 2024-08-28 12:38:16 +10:00
Nyall Dawson
9391a62664 Refactor so Qgs3DMapSettings is a member of Qgs3DSceneEntity 2024-08-28 12:38:16 +10:00
Nyall Dawson
1f94f9bc4e Rework to use Qgs3DRenderContext instead 2024-08-28 12:38:16 +10:00