QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Go to the documentation of this file.
16 #ifndef QGS3DMAPSCENE_H
17 #define QGS3DMAPSCENE_H
21 #include <Qt3DCore/QEntity>
28 class QRenderSettings;
41 class QForwardRenderer;
51 class QgsTerrainEntity;
52 class QgsChunkedEntity;
84 int terrainPendingJobsCount()
const;
90 int totalPendingJobsCount()
const;
111 float worldSpaceError(
float epsilon,
float distance );
131 void updateTemporal();
134 void onCameraChanged();
135 void onFrameTriggered(
float dt );
136 void createTerrain();
137 void onLayerRenderer3DChanged();
138 void onLayersChanged();
139 void createTerrainDeferred();
140 void onBackgroundColorChanged();
141 void onLayerEntityPickedObject( Qt3DRender::QPickEvent *pickEvent,
QgsFeatureId fid );
143 void updateCameraLens();
144 void onRenderersChanged();
145 void onSkyboxSettingsChanged();
146 void onShadowSettingsChanged();
151 void addCameraViewCenterEntity( Qt3DRender::QCamera *camera );
153 void updateSceneState();
155 bool updateCameraNearFarPlanes();
156 void finalizeNewEntity( Qt3DCore::QEntity *newEntity );
157 int maximumTextureSize()
const;
163 Qt3DLogic::QFrameAction *mFrameAction =
nullptr;
165 QgsTerrainEntity *mTerrain =
nullptr;
166 QList<QgsChunkedEntity *> mChunkEntities;
168 Qt3DCore::QEntity *mEntityCameraViewCenter =
nullptr;
170 QMap<QgsMapLayer *, Qt3DCore::QEntity *> mLayerEntities;
171 QMap<const QgsAbstract3DRenderer *, Qt3DCore::QEntity *> mRenderersEntities;
172 bool mTerrainUpdateScheduled =
false;
175 QList<Qgs3DMapScenePickHandler *> mPickHandlers;
177 QList<Qt3DCore::QEntity *> mLightEntities;
179 QList<Qt3DCore::QEntity *> mLightOriginEntities;
180 QList<QgsMapLayer *> mModelVectorLayers;
184 #endif // QGS3DMAPSCENE_H
QgsTerrainEntity * terrainEntity()
Returns terrain entity (may be temporarily nullptr)
void terrainPendingJobsCountChanged()
Emitted when the number of terrain's pending jobs changes.
Base class for all renderers that may to participate in 3D view.
class containing the configuration of a skybox entity 3
base class for all skybox types It holds the common member data between different skybox entity types...
@ Updating
The scene is still being loaded/updated.
3 Container class that holds different objects related to shadow rendering
SceneState sceneState() const
Returns the current state of the scene.
void sceneStateChanged()
Emitted when the scene's state has changed.
The Qgs3DMapExportSettings class Manages the various settings the user can choose from when exporting...
QgsCameraController * cameraController()
Returns camera controller.
3 Definition of the world
void terrainEntityChanged()
Emitted when the current terrain entity is replaced by a new one.
3 Base class for 3D engine implementation.
3 Entity that encapsulates our 3D scene - contains all other entities (such as terrain) as children.
SceneState
Enumeration of possible states of the 3D scene.
@ Ready
The scene is fully loaded/updated.
Base class for all map layer types.
void totalPendingJobsCountChanged()
Emitted when the total number of pending jobs changes.
3 Object that controls camera movement based on user input
3 An entity that is responsible for applying post processing effect Now it is used to make shadows
3 Abstract base class for handlers that process pick events from a 3D map scene.
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features