QGIS/python/core/raster/qgshillshaderenderer.sip

98 lines
2.7 KiB
Plaintext
Raw Normal View History

/**
* @brief A renderer for generating live hillshade models.
* @note added in QGIS 2.16
*/
class QgsHillshadeRenderer : QgsRasterRenderer
{
%TypeHeaderCode
#include "qgshillshaderenderer.h"
%End
public:
/**
* @brief A renderer for generating live hillshade models.
* @param input The input raster interface
* @param band The band in the raster to use
* @param lightAzimuth The azimuth of the light source
* @param lightAltitude The altitude of the light source
*/
QgsHillshadeRenderer( QgsRasterInterface *input, int band, double lightAzimuth, double lightAngle );
~QgsHillshadeRenderer();
virtual QgsHillshadeRenderer *clone() const /Factory/;
/**
* @brief Factory method to create a new renderer
* @param elem A DOM element to create the renderer from.
* @param input The raster input interface.
* @return A new QgsHillshadeRenderer.
*/
static QgsRasterRenderer *create( const QDomElement &elem, QgsRasterInterface *input ) /Factory/;
QgsRasterBlock *block( int bandNo, const QgsRectangle &extent, int width, int height, QgsRasterBlockFeedback *feedback = 0 ) /Factory/;
void writeXml( QDomDocument &doc, QDomElement &parentElem ) const;
QList<int> usesBands() const;
/** Returns the band used by the renderer
*/
int band() const;
/** Sets the band used by the renderer.
* @see band
*/
void setBand( int bandNo );
/**
* Returns the direction of the light over the raster between 0-360.
* @see setAzimuth()
*/
double azimuth() const;
/** Returns the angle of the light source over the raster.
* @see setAltitude()
*/
double altitude() const;
/** Returns the Z scaling factor.
* @see setZFactor()
*/
double zFactor() const;
/** Returns true if the renderer is using multi-directional hillshading.
* @see setMultiDirectional()
*/
bool multiDirectional() const;
/**
* @brief Set the azimuth of the light source.
* @param azimuth The azimuth of the light source, between 0 and 360.0
* @see azimuth()
*/
void setAzimuth( double azimuth );
/**
* @brief Set the altitude of the light source
* @param altitude the altitude
* @see altitude()
*/
void setAltitude( double angle );
/**
* @brief Set the Z scaling factor of the result image.
* @param zfactor The z factor
* @see zFactor()
*/
void setZFactor( double zfactor );
/** Sets whether to render using a multi-directional hillshade algorithm.
* @param isMultiDirectional set to true to use multi directional rendering
* @see multiDirectional()
*/
void setMultiDirectional( bool isMultiDirectional );
};