This stores the debug overlay visibility flag (mIsDebugOverlayEnabled)
even if it cannot be used (it needs at least Qt version 5.15). Its
default value is set to false to prevent any issue if the debug
overlay cannot be enabled.
This parameter is transient: it is not saved in the project
parameters.
The next commit will allow to this change this setting with
Qgs3DMapConfigWidget.
We were using the Qgs3dMapSettings::terrainGenerator for two different
purposes -- one was to retrieve the settings of the generator, and
the other was as a shortcut to determine if the terrain was enabled
and a generator set.
Disambiguate this and avoid a crash when terrain rendering is disabled
in the 3d map settings
Fixes two issues in camera navigation:
- Unintuitive camera rotation
- Wrong center point when zooming in/out and rotating
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/215
This PR employs the following changes:
- The zoom in functionality will zoom in towards the real 3D position of an object in the scene instead the camera view center point used previously.
- The rotation will use the real clicked 3D position of a pixel as well instead of the camera view center point.
- The press and drag behaviour is improved to shift the map in real 3D coordinates instead of some arbitrary measurement (you can see the clicked pixel following the cursor instead of drifting away).
* add optional layer rendering to 3D terrain
* remove terrainLayers from Qgs3DMapSettings
* fix tests
* switch to layer terrain rendering when no 3d renderer is set
* fix mesh tests to handle terrain being disabled
- Add enums to qgis.h instead of qgscoreenums, so that they belong to
a Qgis namespace
- Split up the various symbol headers into multiple files so that we
can fine-tune their inclusion and forward declare more readily, speeding
up recompilation
- Move QgsSymbol enums to qgis
* fix UI freeze bug
* fix spelling
* fix spelling
* refactor a bit of the code
* rename getPointCloudBlock to pointCloudBlock
* use a feedback object instead of cancelled callback
* do not use QMetaObject::Connection
* Qgs3DRenderContext doesn't need to be QObject
* remove Q_OBJECT