16 #ifndef QGS3DMAPSCENE_H 17 #define QGS3DMAPSCENE_H 21 #include <Qt3DCore/QEntity> 25 class QRenderSettings;
36 class QForwardRenderer;
42 class QgsTerrainEntity;
43 class QgsChunkedEntity;
55 Qgs3DMapScene(
const Qgs3DMapSettings &map, Qt3DExtras::QForwardRenderer *defaultFrameGraph, Qt3DRender::QRenderSettings *renderSettings, Qt3DRender::QCamera *camera,
const QRect &viewportRect, Qt3DCore::QNode *parent =
nullptr );
66 int terrainPendingJobsCount()
const;
70 void terrainEntityChanged();
72 void terrainPendingJobsCountChanged();
75 void onCameraChanged();
76 void onFrameTriggered(
float dt );
78 void onLayerRenderer3DChanged();
79 void onLayersChanged();
80 void createTerrainDeferred();
81 void onBackgroundColorChanged();
90 Qt3DLogic::QFrameAction *mFrameAction =
nullptr;
92 QgsTerrainEntity *mTerrain =
nullptr;
94 Qt3DExtras::QForwardRenderer *mForwardRenderer =
nullptr;
95 QList<QgsChunkedEntity *> mChunkEntities;
97 QMap<QgsMapLayer *, Qt3DCore::QEntity *> mLayerEntities;
98 bool mTerrainUpdateScheduled =
false;
101 #endif // QGS3DMAPSCENE_H Base class for all map layer types.
QgsTerrainEntity * terrainEntity()
Returns terrain entity.
3 Definition of the world
3 Object that controls camera movement based on user input
3 Entity that encapsulates our 3D scene - contains all other entities (such as terrain) as children...
QgsCameraController * cameraController()
Returns camera controller.