QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
|
3 More...
#include <qgs3dmapscene.h>
Public Types | |
enum | SceneState { Ready , Updating } |
Enumeration of possible states of the 3D scene. More... | |
Public Slots | |
void | updateTemporal () |
Updates the temporale entities. More... | |
Signals | |
void | fpsCountChanged (float fpsCount) |
Emitted when the FPS count changes. More... | |
void | fpsCounterEnabledChanged (bool fpsCounterEnabled) |
Emitted when the FPS counter is activated or deactivated. More... | |
void | sceneStateChanged () |
Emitted when the scene's state has changed. More... | |
void | terrainEntityChanged () |
Emitted when the current terrain entity is replaced by a new one. More... | |
void | terrainPendingJobsCountChanged () |
Emitted when the number of terrain's pending jobs changes. More... | |
void | totalPendingJobsCountChanged () |
Emitted when the total number of pending jobs changes. More... | |
void | viewed2DExtentFrom3DChanged (QVector< QgsPointXY > extent) |
Emitted when the viewed 2D extent seen by the 3D camera has changed. More... | |
Public Member Functions | |
Qgs3DMapScene (Qgs3DMapSettings &map, QgsAbstract3DEngine *engine) | |
Constructs a 3D scene based on map settings and Qt 3D renderer configuration. More... | |
QgsCameraController * | cameraController () |
Returns camera controller. More... | |
QgsDoubleRange | elevationRange () const |
Returns the scene's elevation range. More... | |
QgsAbstract3DEngine * | engine () |
Returns the abstract 3D engine. More... | |
void | exportScene (const Qgs3DMapExportSettings &exportSettings) |
Exports the scene according to the scene export settings. More... | |
Qgs3DAxis * | get3DAxis () |
Returns the 3D axis object. More... | |
QVector< const QgsChunkNode * > | getLayerActiveChunkNodes (QgsMapLayer *layer) |
Returns the active chunk nodes of layer. More... | |
Qgs3DMapSettings * | mapSettings () const |
Returns the 3D map settings. More... | |
void | registerPickHandler (Qgs3DMapScenePickHandler *pickHandler) |
Registers an object that will get results of pick events on 3D entities. Does not take ownership of the pick handler. Adds object picker components to 3D entities. More... | |
QgsRectangle | sceneExtent () |
Returns the scene extent in the map's CRS. More... | |
SceneState | sceneState () const |
Returns the current state of the scene. More... | |
void | setViewFrom2DExtent (const QgsRectangle &extent) |
Resets camera view to show the extent extent (top view) More... | |
QgsTerrainEntity * | terrainEntity () |
Returns terrain entity (may be temporarily nullptr ) More... | |
int | terrainPendingJobsCount () const |
Returns number of pending jobs of the terrain entity. More... | |
int | totalPendingJobsCount () const |
Returns number of pending jobs for all chunked entities. More... | |
void | unregisterPickHandler (Qgs3DMapScenePickHandler *pickHandler) |
Unregisters previously registered pick handler. Pick handler is not deleted. Also removes object picker components from 3D entities. More... | |
QVector< QgsPointXY > | viewFrustum2DExtent () |
Calculates the 2D extent viewed by the 3D camera as the vertices of the viewed trapezoid. More... | |
void | viewZoomFull () |
Resets camera view to show the whole scene (top view) More... | |
float | worldSpaceError (float epsilon, float distance) |
Given screen error (in pixels) and distance from camera (in 3D world coordinates), this function estimates the error in world space. More... | |
Static Public Member Functions | |
static QMap< QString, Qgs3DMapScene * > | openScenes () |
Returns a map of 3D map scenes (by name) open in the QGIS application. More... | |
Static Public Attributes | |
static std::function< QMap< QString, Qgs3DMapScene * >() > | sOpenScenesFunction = [] { return QMap< QString, Qgs3DMapScene * >(); } |
Static function for returning open 3D map scenes. More... | |
3
Entity that encapsulates our 3D scene - contains all other entities (such as terrain) as children.
Definition at line 73 of file qgs3dmapscene.h.
Enumeration of possible states of the 3D scene.
Enumerator | |
---|---|
Ready | The scene is fully loaded/updated. |
Updating | The scene is still being loaded/updated. |
Definition at line 121 of file qgs3dmapscene.h.
Qgs3DMapScene::Qgs3DMapScene | ( | Qgs3DMapSettings & | map, |
QgsAbstract3DEngine * | engine | ||
) |
Constructs a 3D scene based on map settings and Qt 3D renderer configuration.
Definition at line 87 of file qgs3dmapscene.cpp.
|
inline |
Returns camera controller.
Definition at line 86 of file qgs3dmapscene.h.
QgsDoubleRange Qgs3DMapScene::elevationRange | ( | ) | const |
Returns the scene's elevation range.
Definition at line 1187 of file qgs3dmapscene.cpp.
|
inline |
void Qgs3DMapScene::exportScene | ( | const Qgs3DMapExportSettings & | exportSettings | ) |
Exports the scene according to the scene export settings.
Definition at line 1121 of file qgs3dmapscene.cpp.
|
signal |
Emitted when the FPS count changes.
|
signal |
Emitted when the FPS counter is activated or deactivated.
|
inline |
QVector< const QgsChunkNode * > Qgs3DMapScene::getLayerActiveChunkNodes | ( | QgsMapLayer * | layer | ) |
Returns the active chunk nodes of layer.
Definition at line 1170 of file qgs3dmapscene.cpp.
|
inline |
|
static |
Returns a map of 3D map scenes (by name) open in the QGIS application.
Definition at line 1214 of file qgs3dmapscene.cpp.
void Qgs3DMapScene::registerPickHandler | ( | Qgs3DMapScenePickHandler * | pickHandler | ) |
Registers an object that will get results of pick events on 3D entities. Does not take ownership of the pick handler. Adds object picker components to 3D entities.
Definition at line 292 of file qgs3dmapscene.cpp.
QgsRectangle Qgs3DMapScene::sceneExtent | ( | ) |
Returns the scene extent in the map's CRS.
Definition at line 1182 of file qgs3dmapscene.cpp.
|
inline |
Returns the current state of the scene.
Definition at line 128 of file qgs3dmapscene.h.
|
signal |
Emitted when the scene's state has changed.
void Qgs3DMapScene::setViewFrom2DExtent | ( | const QgsRectangle & | extent | ) |
Resets camera view to show the extent extent (top view)
Definition at line 226 of file qgs3dmapscene.cpp.
|
inline |
Returns terrain entity (may be temporarily nullptr
)
Definition at line 92 of file qgs3dmapscene.h.
|
signal |
Emitted when the current terrain entity is replaced by a new one.
int Qgs3DMapScene::terrainPendingJobsCount | ( | ) | const |
Returns number of pending jobs of the terrain entity.
Definition at line 279 of file qgs3dmapscene.cpp.
|
signal |
Emitted when the number of terrain's pending jobs changes.
int Qgs3DMapScene::totalPendingJobsCount | ( | ) | const |
Returns number of pending jobs for all chunked entities.
Definition at line 284 of file qgs3dmapscene.cpp.
|
signal |
Emitted when the total number of pending jobs changes.
void Qgs3DMapScene::unregisterPickHandler | ( | Qgs3DMapScenePickHandler * | pickHandler | ) |
Unregisters previously registered pick handler. Pick handler is not deleted. Also removes object picker components from 3D entities.
Definition at line 307 of file qgs3dmapscene.cpp.
|
slot |
Updates the temporale entities.
Definition at line 715 of file qgs3dmapscene.cpp.
|
signal |
Emitted when the viewed 2D extent seen by the 3D camera has changed.
QVector< QgsPointXY > Qgs3DMapScene::viewFrustum2DExtent | ( | ) |
Calculates the 2D extent viewed by the 3D camera as the vertices of the viewed trapezoid.
Definition at line 249 of file qgs3dmapscene.cpp.
void Qgs3DMapScene::viewZoomFull | ( | ) |
Resets camera view to show the whole scene (top view)
Definition at line 215 of file qgs3dmapscene.cpp.
float Qgs3DMapScene::worldSpaceError | ( | float | epsilon, |
float | distance | ||
) |
Given screen error (in pixels) and distance from camera (in 3D world coordinates), this function estimates the error in world space.
Takes into account camera's field of view and the screen (3D view) size.
Definition at line 338 of file qgs3dmapscene.cpp.
|
static |
Static function for returning open 3D map scenes.
Definition at line 198 of file qgs3dmapscene.h.