156 Commits

Author SHA1 Message Date
qgis-bot
bd320e3f29 auto sipify 🍺 2025-09-28 22:19:36 +00:00
Nyall Dawson
82136d0c6e Sipify 2025-09-29 08:16:55 +10:00
Nyall Dawson
15d89d273a Rework API 2025-09-29 08:16:55 +10:00
Nyall Dawson
131e12668c Fix typo 2025-09-29 08:16:55 +10:00
Nyall Dawson
97d77a9edf Introduce QgsTextureAtlasGenerator
Generates texture atlases by efficient packing of multiple
input rectangles/images.

Based on the rectPack2D library.
2025-09-29 08:16:55 +10:00
David Koňařík
96f7eedb77 Extend work done in 55235e3e to Qt6 build 2025-09-24 08:39:32 +10:00
Juergen E. Fischer
4abd7ca3b1 generate pyproject.toml for bindings with cmake 2025-07-23 07:11:51 +10:00
Nyall Dawson
a940543035 Fix a number of warnings when building in c++20 mode 2025-06-30 14:03:24 +12:00
David Koňařík
19ded7be74 Fix saving/loading 3D map view viewpoint
Previously the point was saved in origin-relative coordinates. Now since
we pick the origin automatically, it can be changed by various
initialisation routines, so the coordinates will be interpreted relative
to the wrong origin.

This commit changes the format to use map coordinates instead, and saves
the "original" origin from the XML for interpreting older projects.
2025-06-29 19:44:56 +02:00
qgis-bot
b12936e133 auto sipify 🍺 2025-06-06 01:16:50 +00:00
David Koňařík
f5931f3e1a Move shortcut handling from Qgs3DAxis to QgsCameraController 2025-06-06 11:13:48 +10:00
David Koňařík
331afe3caf Fix docstring per review 2025-06-06 11:13:48 +10:00
David Koňařík
476d501ce4 Simplify keyboard input handling in 3D view 2025-06-06 11:13:48 +10:00
qgis-bot
9714017589 auto sipify 🍺 2025-05-23 06:04:39 +00:00
Nyall Dawson
35f5280342 Sipify 2025-05-04 07:42:31 +10:00
qgis-bot
9eaf64fb73 auto sipify 🍺 2025-04-05 08:34:03 +00:00
Withalion
6301a60f91 Fix review issues 2025-04-05 10:31:10 +02:00
Withalion
705a2cade7 Disable clipping planes when outside current extent 2025-04-05 10:31:10 +02:00
Nyall Dawson
9435a84ff7 sipify 2025-04-03 01:05:31 +10:00
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
qgis-bot
5db39f884a auto sipify 🍺 2025-04-01 00:29:22 +00:00
Martin Dobias
2078404ba7 Globe: finally make it available from the GUI
This is a mix of additions and updates for the initial support of globe mode
in 3D views within QGIS desktop app. Many things are still missing, and will
be introduced in later PRs...
2025-04-01 10:26:27 +10:00
Nyall Dawson
4a10066b69 Fix grammar errors in class docstrings 2025-04-01 09:44:00 +10:00
Nyall Dawson
afd2e4f42d Fix doxygen class briefs which aren't full sentences 2025-04-01 09:44:00 +10:00
qgis-bot
427e5f38ac auto sipify 🍺 2025-03-30 10:50:58 +00:00
Nyall Dawson
26a6828851 Make 3d docs compliant 2025-03-30 20:48:07 +10:00
Nyall Dawson
6d122f0038 Sipify 2025-03-30 20:48:07 +10:00
Nyall Dawson
ac71664a83 Fix multiparagraphs in initial class docstrings 2025-03-30 20:48:07 +10:00
Nyall Dawson
b81e0d83f6 Fix non-compliant class brief documentation 2025-03-30 20:48:07 +10:00
qgis-bot
dd033ba99a auto sipify 🍺 2025-03-29 08:46:03 +00:00
Martin Dobias
ad32431d80 Support for rebasing of scenes 2025-03-29 09:41:22 +01:00
Withalion
0fa3b6d3ec Refactor code & add unit tests 2025-03-29 09:41:22 +01:00
Withalion
742a41d009 Fix review issues 2025-03-29 09:41:22 +01:00
Nyall Dawson
7b56629478 Sipify 2025-03-27 14:00:26 +10:00
qgis-bot
7b89eaa547 auto sipify 🍺 2025-03-26 07:26:11 +00:00
Martin Dobias
b98733dbd7 cleanups of the globe entity code 2025-03-26 08:23:23 +01:00
Martin Dobias
adfb671c7a Add globe mesh 3D entity 2025-03-26 08:23:23 +01:00
qgis-bot
3ee7834ace auto sipify 🍺 2025-03-24 09:32:25 +00:00
Martin Dobias
73b27d9949 Review from Stefanos and Nyall 2025-03-24 10:29:33 +01:00
Martin Dobias
c40d25ade9 Add 3D scene mode enum 2025-03-24 10:29:33 +01:00
Martin Dobias
e98bf79f1a Initial implementation of globe camera controller
This is a new navigation mode for QgsCameraController which is meant to work
just like the terrain-based navigation mode, but for 3D scenes with globe.

Initially, the new navigation mode can handle:
- zooming in/out with mouse wheel
- orbit around globe when dragging with left mouse button pressed
- left/right/up/down keys to orbit around globe
- shift + left/right keys to change heading angle
- shift + up/down keys to change pitch angle
- page up/page down keys to increase/decrease elevation

For camera pose, we use QgsCameraPose as for "flat" scenes, but the QCamera
is positioned/rotated slightly differently - the main change is that in case
of globe, we use ECEF coordinates of the camera pose's center point, convert
them to lat/lon coordinates in order to set up initial rotation of the camera
so that it is perpendicular to the tangent plane at the given ECEF coordinate.
2025-03-24 10:29:33 +01:00
qgis-bot
c2b726d5f8 auto sipify 🍺 2025-03-11 12:54:49 +00:00
Martin Dobias
c744d96ec1 Large scene support: shift scene's origin if the camera got too far
This should greatly improve our capability to handle large scenes (e.g. more than 50km across)

Also add a checkbox to the debug panel to allow devs temporarily turn it off.
2025-03-06 13:40:29 +01:00
Withalion
4a232bb9ac Fix review issues 2025-03-06 09:35:31 +01:00
qgis-bot
c582e723e6 auto sipify 🍺 2025-03-06 08:31:58 +00:00
Withalion
c5b74ed242 Fix review issues 2025-03-06 09:29:01 +01:00
Withalion
a3694b3ed2 Refactor includes 2025-03-06 09:29:01 +01:00
Withalion
72c6762b37 Add movement state for paintbrush tool 2025-03-06 09:29:01 +01:00
qgis-bot
0318ff38cb auto sipify 🍺 2025-01-17 21:54:36 +00:00
Withalion
e9a8dea22c Add VPC zoom out behavior for 3D rendering 2025-01-17 22:51:46 +01:00