16 #ifndef QGS3DMAPSCENE_H 17 #define QGS3DMAPSCENE_H 21 #include <Qt3DCore/QEntity> 25 class QRenderSettings;
37 class QForwardRenderer;
45 class QgsTerrainEntity;
46 class QgsChunkedEntity;
69 int terrainPendingJobsCount()
const;
90 float worldSpaceError(
float epsilon,
float distance );
94 void terrainEntityChanged();
96 void terrainPendingJobsCountChanged();
98 void sceneStateChanged();
101 void onCameraChanged();
102 void onFrameTriggered(
float dt );
103 void createTerrain();
104 void onLayerRenderer3DChanged();
105 void onLayersChanged();
106 void createTerrainDeferred();
107 void onBackgroundColorChanged();
108 void onLayerEntityPickEvent( Qt3DRender::QPickEvent *event );
110 void updateCameraLens();
114 void addCameraViewCenterEntity( Qt3DRender::QCamera *camera );
116 void updateSceneState();
118 bool updateCameraNearFarPlanes();
124 Qt3DLogic::QFrameAction *mFrameAction =
nullptr;
126 QgsTerrainEntity *mTerrain =
nullptr;
127 QList<QgsChunkedEntity *> mChunkEntities;
129 Qt3DCore::QEntity *mEntityCameraViewCenter =
nullptr;
131 QMap<QgsMapLayer *, Qt3DCore::QEntity *> mLayerEntities;
132 bool mTerrainUpdateScheduled =
false;
135 QList<Qgs3DMapScenePickHandler *> mPickHandlers;
137 QList<Qt3DCore::QEntity *> mLightEntities;
140 #endif // QGS3DMAPSCENE_H 3 Abstract base class for handlers that process pick events from a 3D map scene.
Base class for all map layer types.
SceneState
Enumeration of possible states of the 3D scene.
QgsTerrainEntity * terrainEntity()
Returns terrain entity (may be temporarily nullptr)
3 Definition of the world
SceneState sceneState() const
Returns the current state of the scene.
3 Base class for 3D engine implementation.
3 Object that controls camera movement based on user input
The scene is fully loaded/updated.
3 Entity that encapsulates our 3D scene - contains all other entities (such as terrain) as children...
The scene is still being loaded/updated.
QgsCameraController * cameraController()
Returns camera controller.