QGIS API Documentation 3.32.0-Lima (311a8cb8a6)
|
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... | |
Qt3DCore::QEntity * | layerEntity (QgsMapLayer *layer) const |
Returns the entity belonging to layer. More... | |
QList< QgsMapLayer * > | layers () |
Returns the layers that contain chunked entities. More... | |
Qgs3DMapSettings * | mapSettings () const |
Returns the 3D map settings. 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... | |
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 70 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 118 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 82 of file qgs3dmapscene.cpp.
|
inline |
Returns camera controller.
Definition at line 83 of file qgs3dmapscene.h.
QgsDoubleRange Qgs3DMapScene::elevationRange | ( | ) | const |
Returns the scene's elevation range.
Definition at line 1069 of file qgs3dmapscene.cpp.
|
inline |
void Qgs3DMapScene::exportScene | ( | const Qgs3DMapExportSettings & | exportSettings | ) |
Exports the scene according to the scene export settings.
Definition at line 1003 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 1052 of file qgs3dmapscene.cpp.
|
inline |
Returns the entity belonging to layer.
Definition at line 155 of file qgs3dmapscene.h.
|
inline |
Returns the layers that contain chunked entities.
Definition at line 148 of file qgs3dmapscene.h.
|
inline |
|
static |
Returns a map of 3D map scenes (by name) open in the QGIS application.
Definition at line 1096 of file qgs3dmapscene.cpp.
QgsRectangle Qgs3DMapScene::sceneExtent | ( | ) |
Returns the scene extent in the map's CRS.
Definition at line 1064 of file qgs3dmapscene.cpp.
|
inline |
Returns the current state of the scene.
Definition at line 125 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 213 of file qgs3dmapscene.cpp.
|
inline |
Returns terrain entity (may be temporarily nullptr
)
Definition at line 89 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 266 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 271 of file qgs3dmapscene.cpp.
|
signal |
Emitted when the total number of pending jobs changes.
|
slot |
Updates the temporale entities.
Definition at line 600 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 236 of file qgs3dmapscene.cpp.
void Qgs3DMapScene::viewZoomFull | ( | ) |
Resets camera view to show the whole scene (top view)
Definition at line 202 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 279 of file qgs3dmapscene.cpp.
|
static |
Static function for returning open 3D map scenes.
Definition at line 204 of file qgs3dmapscene.h.