QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
A renderer for generating live hillshade models. More...
#include <qgshillshaderenderer.h>
Public Member Functions | |
QgsHillshadeRenderer (QgsRasterInterface *input, int band, double lightAzimuth, double lightAltitude) | |
A renderer for generating live hillshade models. More... | |
double | altitude () const |
Returns the angle of the light source over the raster. More... | |
double | azimuth () const |
Returns the direction of the light over the raster between 0-360. More... | |
int | band () const |
Returns the band used by the renderer. More... | |
QgsRasterBlock * | block (int bandNo, QgsRectangle const &extent, int width, int height) override |
Read block of data using given extent and size. More... | |
QgsRasterBlock * | block2 (int bandNo, QgsRectangle const &extent, int width, int height, QgsRasterBlockFeedback *feedback=nullptr) override |
Read block of data using given extent and size. More... | |
QgsHillshadeRenderer * | clone () const override |
Clone itself, create deep copy. More... | |
bool | multiDirectional () const |
Returns true if the renderer is using multi-directional hillshading. More... | |
void | setAltitude (double altitude) |
Set the altitude of the light source. More... | |
void | setAzimuth (double azimuth) |
Set the azimuth of the light source. More... | |
void | setBand (int bandNo) |
Sets the band used by the renderer. More... | |
void | setMultiDirectional (bool isMultiDirectional) |
Sets whether to render using a multi-directional hillshade algorithm. More... | |
void | setZFactor (double zfactor) |
Set the Z scaling factor of the result image. More... | |
QList< int > | usesBands () const override |
Returns a list of band numbers used by the renderer. More... | |
void | writeXML (QDomDocument &doc, QDomElement &parentElem) const override |
Write base class members to xml. More... | |
double | zFactor () const |
Returns the Z scaling factor. More... | |
Public Member Functions inherited from QgsRasterRenderer | |
QgsRasterRenderer (QgsRasterInterface *input=nullptr, const QString &type="") | |
virtual | ~QgsRasterRenderer () |
int | alphaBand () const |
virtual int | bandCount () const override |
Get number of bands. More... | |
void | copyCommonProperties (const QgsRasterRenderer *other) |
Copies common properties like opacity / transparency data from other renderer. More... | |
virtual QGis::DataType | dataType (int bandNo) const override |
Returns data type for the band specified by number. More... | |
virtual void | legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const |
Get symbology items if provided by renderer. More... | |
double | opacity () const |
const QgsRasterTransparency * | rasterTransparency () const |
void | readXML (const QDomElement &rendererElem) override |
Sets base class members from xml. More... | |
void | setAlphaBand (int band) |
virtual bool | setInput (QgsRasterInterface *input) override |
Set input. More... | |
void | setOpacity (double opacity) |
void | setRasterTransparency (QgsRasterTransparency *t) |
virtual QString | type () const |
bool | usesTransparency () const |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=nullptr) | |
virtual | ~QgsRasterInterface () |
virtual QgsRasterBandStats | bandStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Get band statistics. More... | |
virtual int | capabilities () const |
Returns a bitmask containing the supported capabilities. More... | |
QString | capabilitiesString () const |
Returns the above in friendly format. More... | |
virtual void | cumulativeCut (int theBandNo, double theLowerCount, double theUpperCount, double &theLowerValue, double &theUpperValue, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Find values for cumulative pixel count cut. More... | |
int | dataTypeSize (int bandNo) |
virtual QgsRectangle | extent () |
Get the extent of the interface. More... | |
virtual QString | generateBandName (int theBandNumber) const |
helper function to create zero padded band names More... | |
virtual bool | hasHistogram (int theBandNo, int theBinCount, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Returns true if histogram is available (cached, already calculated), the parameters are the same as in histogram() More... | |
virtual bool | hasStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Returns true if histogram is available (cached, already calculated). More... | |
virtual QgsRasterHistogram | histogram (int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Get histogram. More... | |
virtual QgsRasterInterface * | input () const |
Current input. More... | |
virtual bool | on () const |
Is on/off. More... | |
virtual void | setOn (bool on) |
Set on/off. More... | |
virtual QGis::DataType | srcDataType (int bandNo) const |
Returns source data type for the band specified by number, source data type may be shorter than dataType. More... | |
virtual const QgsRasterInterface * | srcInput () const |
Get source / raw input, the first in pipe, usually provider. More... | |
virtual QgsRasterInterface * | srcInput () |
virtual int | xBlockSize () const |
Get block size. More... | |
virtual int | xSize () const |
Get raster size. More... | |
virtual int | yBlockSize () const |
virtual int | ySize () const |
Static Public Member Functions | |
static QgsRasterRenderer * | create (const QDomElement &elem, QgsRasterInterface *input) |
Factory method to create a new renderer. More... | |
Static Public Member Functions inherited from QgsRasterRenderer | |
static int | minMaxOriginFromName (const QString &theName) |
static QString | minMaxOriginLabel (int theOrigin) |
static QString | minMaxOriginName (int theOrigin) |
Additional Inherited Members | |
Public Types inherited from QgsRasterRenderer | |
enum | MinMaxOrigin { MinMaxUnknown = 0, MinMaxUser = 1, MinMaxMinMax = 1 << 1, MinMaxCumulativeCut = 1 << 2, MinMaxStdDev = 1 << 3, MinMaxFullExtent = 1 << 4, MinMaxSubExtent = 1 << 5, MinMaxEstimated = 1 << 6, MinMaxExact = 1 << 7 } |
Public Types inherited from QgsRasterInterface | |
enum | Capability { NoCapabilities = 0, Size = 1 << 1, Create = 1 << 2, Remove = 1 << 3, BuildPyramids = 1 << 4, Identify = 1 << 5, IdentifyValue = 1 << 6, IdentifyText = 1 << 7, IdentifyHtml = 1 << 8, IdentifyFeature = 1 << 9 } |
If you add to this, please also add to capabilitiesString() More... | |
Static Public Attributes inherited from QgsRasterRenderer | |
static const QRgb | NODATA_COLOR = qRgba( 0, 0, 0, 0 ) |
Protected Member Functions inherited from QgsRasterRenderer | |
void | _writeXML (QDomDocument &doc, QDomElement &rasterRendererElem) const |
Write upper class info into rasterrenderer element (called by writeXML method of subclasses) More... | |
Protected Member Functions inherited from QgsRasterInterface | |
void | initHistogram (QgsRasterHistogram &theHistogram, int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false) |
Fill in histogram defaults if not specified. More... | |
void | initStatistics (QgsRasterBandStats &theStatistics, int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theBinCount=0) |
Fill in statistics defaults if not specified. More... | |
Protected Attributes inherited from QgsRasterRenderer | |
int | mAlphaBand |
Read alpha value from band. More... | |
double | mOpacity |
Global alpha value (0-1) More... | |
QgsRasterTransparency * | mRasterTransparency |
Raster transparency per color or value. More... | |
QString | mType |
Protected Attributes inherited from QgsRasterInterface | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. More... | |
QgsRasterInterface * | mInput |
bool | mOn |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. More... | |
A renderer for generating live hillshade models.
Definition at line 34 of file qgshillshaderenderer.h.
QgsHillshadeRenderer::QgsHillshadeRenderer | ( | QgsRasterInterface * | input, |
int | band, | ||
double | lightAzimuth, | ||
double | lightAltitude | ||
) |
A renderer for generating live hillshade models.
input | The input raster interface |
band | The band in the raster to use |
lightAzimuth | The azimuth of the light source |
lightAltitude | The altitude of the light source |
Definition at line 27 of file qgshillshaderenderer.cpp.
|
inline |
Returns the angle of the light source over the raster.
Definition at line 81 of file qgshillshaderenderer.h.
|
inline |
Returns the direction of the light over the raster between 0-360.
Definition at line 76 of file qgshillshaderenderer.h.
|
inline |
Returns the band used by the renderer.
Definition at line 65 of file qgshillshaderenderer.h.
|
overridevirtual |
Read block of data using given extent and size.
Returns pointer to data. Caller is responsible to free the memory returned.
bandNo | band number |
extent | extent of block |
width | pixel width of block |
height | pixel height of block |
Implements QgsRasterInterface.
Definition at line 86 of file qgshillshaderenderer.cpp.
|
overridevirtual |
Read block of data using given extent and size.
Returns pointer to data. Caller is responsible to free the memory returned.
bandNo | band number |
extent | extent of block |
width | pixel width of block |
height | pixel height of block |
feedback | optional raster feedback object for cancellation/preview |
Reimplemented from QgsRasterInterface.
Definition at line 91 of file qgshillshaderenderer.cpp.
|
overridevirtual |
Clone itself, create deep copy.
Implements QgsRasterRenderer.
Definition at line 38 of file qgshillshaderenderer.cpp.
|
static |
Factory method to create a new renderer.
elem | A DOM element to create the renderer from. |
input | The raster input interface. |
Definition at line 48 of file qgshillshaderenderer.cpp.
|
inline |
Returns true if the renderer is using multi-directional hillshading.
Definition at line 91 of file qgshillshaderenderer.h.
|
inline |
Set the altitude of the light source.
altitude | the altitude |
Definition at line 105 of file qgshillshaderenderer.h.
|
inline |
Set the azimuth of the light source.
azimuth | The azimuth of the light source, between 0 and 360.0 |
Definition at line 98 of file qgshillshaderenderer.h.
void QgsHillshadeRenderer::setBand | ( | int | bandNo | ) |
Sets the band used by the renderer.
Definition at line 299 of file qgshillshaderenderer.cpp.
|
inline |
Sets whether to render using a multi-directional hillshade algorithm.
isMultiDirectional | set to true to use multi directional rendering |
Definition at line 118 of file qgshillshaderenderer.h.
|
inline |
Set the Z scaling factor of the result image.
zfactor | The z factor |
Definition at line 112 of file qgshillshaderenderer.h.
|
overridevirtual |
Returns a list of band numbers used by the renderer.
Reimplemented from QgsRasterRenderer.
Definition at line 288 of file qgshillshaderenderer.cpp.
|
overridevirtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 68 of file qgshillshaderenderer.cpp.
|
inline |
Returns the Z scaling factor.
Definition at line 86 of file qgshillshaderenderer.h.