16 #ifndef QGSDEMTERRAINTILELOADER_P_H 17 #define QGSDEMTERRAINTILELOADER_P_H 30 #include <QtConcurrent/QtConcurrentRun> 31 #include <QFutureWatcher> 32 #include <QElapsedTimer> 48 class QgsDemTerrainTileLoader :
public QgsTerrainTileLoader
53 QgsDemTerrainTileLoader( QgsTerrainEntity *terrain, QgsChunkNode *node );
55 Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
58 void onHeightMapReady(
int jobId,
const QByteArray &heightMap );
63 QByteArray mHeightMap;
76 class QgsDemHeightMapGenerator :
public QObject
86 ~QgsDemHeightMapGenerator()
override;
89 int render(
int x,
int y,
int z );
92 QByteArray renderSynchronously(
int x,
int y,
int z );
95 int resolution()
const {
return mResolution; }
98 float heightAt(
double x,
double y );
102 void heightMapReady(
int jobId,
const QByteArray &heightMap );
105 void onFutureFinished();
120 std::unique_ptr<QgsTerrainDownloader> mDownloader;
125 QgsChunkNodeId tileId;
127 QFuture<QByteArray> future;
128 QFutureWatcher<QByteArray> *fw;
132 QHash<QFutureWatcher<QByteArray>*, JobData> mJobs;
135 QByteArray mDtmCoarseData;
140 #endif // QGSDEMTERRAINTILELOADER_P_H A rectangle specified with double values.
Represents a raster layer.
Contains information about the context in which a coordinate transform is executed.
3 Takes care of downloading terrain data from a publicly available data source.
3 The class encapsulates tiling scheme (just like with WMTS / TMS / XYZ layers).
Base class for raster data providers.