Skip to content

Add interactive 3D terrain extent panning and zooming#7080

Draft
mohsenD98 wants to merge 1 commit intomasterfrom
3d-custom-extent
Draft

Add interactive 3D terrain extent panning and zooming#7080
mohsenD98 wants to merge 1 commit intomasterfrom
3d-custom-extent

Conversation

@mohsenD98
Copy link
Collaborator

🚀 Description

Adds interactive extent manipulation to the 3D terrain view, allowing users to pan and zoom the terrain in 3d mode.

✨ Key Changes

  • Shift+Drag to pan extent — Hold Shift and drag to move the 3D terrain extent geographically. The terrain mesh translates in real-time for visual feedback, then regenerates at the new location on release.
  • Shift+Wheel to zoom extent — Hold Shift and scroll to scale the terrain extent in/out around its center.
  • setCustomExtent() API — New Q_INVOKABLE method on Quick3DTerrainProvider to programmatically set a custom geographic extent, with shared applyExtent() logic to avoid code duplication with updateFromMapSettings().
  • 2D ↔ 3D extent sync — When closing the 3D view, the 2D map canvas extent is set to match the current 3D terrain extent.

Demo :)

Screencast.From.2026-02-24.21-59-10.mp4

@mohsenD98 mohsenD98 self-assigned this Feb 24, 2026
@qfield-fairy
Copy link
Collaborator

qfield-fairy commented Feb 24, 2026

🍎 MacOS DMG universal builds

Download a MacOS DMG universal build of this PR for testing.
(Built from commit 8efabf9)

📱 Android builds

Download an Android arm64 build of this PR for testing.
(Built from commit 8efabf9)

Other Android architectures

🪟 Windows builds

Download a Windows build of this PR for testing.
(Built from commit 8efabf9)

🐧 Linux AppImage builds

Download a Linux AppImage build of this PR for testing.
(Built from commit 8efabf9)

@nirvn nirvn marked this pull request as draft February 25, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants