16 #ifndef QGSDEMTERRAINTILELOADER_P_H 17 #define QGSDEMTERRAINTILELOADER_P_H 30 #include <QtConcurrent/QtConcurrentRun> 31 #include <QFutureWatcher> 32 #include <QElapsedTimer> 47 class QgsDemTerrainTileLoader :
public QgsTerrainTileLoader
52 QgsDemTerrainTileLoader( QgsTerrainEntity *terrain, QgsChunkNode *node );
54 Qt3DCore::QEntity *createEntity( Qt3DCore::QEntity *parent )
override;
57 void onHeightMapReady(
int jobId,
const QByteArray &heightMap );
62 QByteArray mHeightMap;
75 class QgsDemHeightMapGenerator :
public QObject
85 ~QgsDemHeightMapGenerator()
override;
88 int render(
int x,
int y,
int z );
91 QByteArray renderSynchronously(
int x,
int y,
int z );
94 int resolution()
const {
return mResolution; }
97 float heightAt(
double x,
double y );
101 void heightMapReady(
int jobId,
const QByteArray &heightMap );
104 void onFutureFinished();
119 std::unique_ptr<QgsTerrainDownloader> mDownloader;
125 QFuture<QByteArray> future;
126 QFutureWatcher<QByteArray> *fw;
130 QHash<QFutureWatcher<QByteArray>*, JobData> mJobs;
133 QByteArray mDtmCoarseData;
138 #endif // QGSDEMTERRAINTILELOADER_P_H A rectangle specified with double values.
This class provides qgis with the ability to render raster datasets onto the mapcanvas.
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.