16#ifndef QGSTERRAINENTITY_P_H
17#define QGSTERRAINENTITY_P_H
44class QgsTerrainTextureGenerator;
48class TerrainMapUpdateJobFactory;
55class QgsTerrainEntity :
public QgsChunkedEntity
60 explicit QgsTerrainEntity(
const Qgs3DMapSettings &map, Qt3DCore::QNode *parent =
nullptr );
62 ~QgsTerrainEntity()
override;
67 QgsTerrainTextureGenerator *textureGenerator() {
return mTextureGenerator; }
70 Qt3DCore::QTransform *transform()
const {
return mTerrainTransform; }
72 float terrainElevationOffset()
const;
77 void onShowBoundingBoxesChanged();
78 void invalidateMapImages();
79 void onLayersChanged();
80 void onTerrainElevationOffsetChanged(
float newOffset );
84 void connectToLayersRepaintRequest();
87 QgsTerrainTextureGenerator *mTextureGenerator =
nullptr;
88 Qt3DCore::QTransform *mTerrainTransform =
nullptr;
90 std::unique_ptr<TerrainMapUpdateJobFactory> mUpdateJobFactory;
93 QList<QgsMapLayer *> mLayers;
99class TerrainMapUpdateJob :
public QgsChunkQueueJob
103 TerrainMapUpdateJob( QgsTerrainTextureGenerator *textureGenerator, QgsChunkNode *mNode );
105 void cancel()
override;
108 void onTileReady(
int jobId,
const QImage &image );
111 QgsTerrainTextureGenerator *mTextureGenerator =
nullptr;
Base class for all map layer types.
Helper struct to store ray casting parameters.