16#ifndef QGSELEVATIONMAP_H
17#define QGSELEVATIONMAP_H
51 explicit QgsElevationMap(
const QSize &size,
float devicePixelRatio = 1.0 );
79 void applyEyeDomeLighting( QImage &image,
int distance,
float strength,
float rendererScale )
const;
99 void applyHillshading( QImage &image,
bool multiDirectional,
double altitude,
double azimuth,
double zFactor,
double cellSizeX,
double cellSizeY )
const;
114 QPainter *painter()
const;
131 void fillWithRasterBlock(
QgsRasterBlock *block,
int top,
int left,
double zScale = 1.0,
double offset = 0.0 )
SIP_SKIP;
138 bool isValid() const;
141 static QRgb encodeElevation(
float z );
143 static
float decodeElevation( QRgb colorRaw );
149 inline
bool isNoData( QRgb colorRaw )
const {
return colorRaw == 0;}
158 mutable QImage mElevationImage;
159 mutable std::unique_ptr<QPainter> mPainter;
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Stores digital elevation model in a raster image which may get updated as a part of map layer renderi...
QgsElevationMap()=default
float noDataValue() const
Returns the no data value for the elevation map.
QImage rawElevationImage() const
Returns raw elevation image with elevations encoded as color values.
QRgb * rawElevationImageData()
Returns pointer to the actual elevation image data.