QGIS API Documentation
2.0.1-Dufour
|
Raster renderer pipe for single band pseudocolor. More...
#include <qgssinglebandpseudocolorrenderer.h>
Public Member Functions | |
QgsSingleBandPseudoColorRenderer (QgsRasterInterface *input, int band, QgsRasterShader *shader) | |
Note: takes ownership of QgsRasterShader. | |
~QgsSingleBandPseudoColorRenderer () | |
QgsRasterInterface * | clone () const |
Clone itself, create deep copy. | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height) |
Read block of data using given extent and size. | |
void | setShader (QgsRasterShader *shader) |
Takes ownership of the shader. | |
QgsRasterShader * | shader () |
const QgsRasterShader * | shader () const |
void | writeXML (QDomDocument &doc, QDomElement &parentElem) const |
Write base class members to xml. | |
void | legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const |
Get symbology items if provided by renderer. | |
QList< int > | usesBands () const |
Returns a list of band numbers used by the renderer. | |
double | classificationMin () const |
double | classificationMax () const |
void | setClassificationMin (double min) |
void | setClassificationMax (double max) |
int | classificationMinMaxOrigin () const |
void | setClassificationMinMaxOrigin (int origin) |
Public Member Functions inherited from QgsRasterRenderer | |
QgsRasterRenderer (QgsRasterInterface *input=0, const QString &type="") | |
virtual | ~QgsRasterRenderer () |
virtual int | bandCount () const |
Get number of bands. | |
virtual QGis::DataType | dataType (int bandNo) const |
Returns data type for the band specified by number. | |
virtual QString | type () const |
virtual bool | setInput (QgsRasterInterface *input) |
Set input. | |
bool | usesTransparency () const |
void | setOpacity (double opacity) |
double | opacity () const |
void | setRasterTransparency (QgsRasterTransparency *t) |
const QgsRasterTransparency * | rasterTransparency () const |
void | setAlphaBand (int band) |
int | alphaBand () const |
void | readXML (const QDomElement &rendererElem) |
Sets base class members from xml. | |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=0) | |
virtual | ~QgsRasterInterface () |
virtual int | capabilities () const |
Returns a bitmask containing the supported capabilities. | |
QString | capabilitiesString () const |
Returns the above in friendly format. | |
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. | |
virtual QgsRectangle | extent () |
Get the extent of the interface. | |
int | dataTypeSize (int bandNo) |
virtual int | xBlockSize () const |
Get block size. | |
virtual int | yBlockSize () const |
virtual int | xSize () const |
Get raster size. | |
virtual int | ySize () const |
virtual QString | generateBandName (int theBandNumber) const |
helper function to create zero padded band names | |
virtual QgsRasterInterface * | input () const |
Current input. | |
virtual bool | on () const |
Is on/off. | |
virtual void | setOn (bool on) |
Set on/off. | |
virtual const QgsRasterInterface * | srcInput () const |
Get source / raw input, the first in pipe, usually provider. | |
virtual QgsRasterInterface * | srcInput () |
virtual QgsRasterBandStats | bandStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0) |
Get band statistics. | |
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). | |
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. | |
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() | |
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. |
Static Public Member Functions | |
static QgsRasterRenderer * | create (const QDomElement &elem, QgsRasterInterface *input) |
Static Public Member Functions inherited from QgsRasterRenderer | |
static QString | minMaxOriginName (int theOrigin) |
static QString | minMaxOriginLabel (int theOrigin) |
static int | minMaxOriginFromName (QString theName) |
Private Attributes | |
QgsRasterShader * | mShader |
int | mBand |
double | mClassificationMin |
double | mClassificationMax |
int | mClassificationMinMaxOrigin |
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 } |
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) | |
Protected Attributes inherited from QgsRasterRenderer | |
QString | mType |
double | mOpacity |
Global alpha value (0-1) | |
QgsRasterTransparency * | mRasterTransparency |
Raster transparency per color or value. | |
int | mAlphaBand |
Read alpha value from band. |
Raster renderer pipe for single band pseudocolor.
Definition at line 29 of file qgssinglebandpseudocolorrenderer.h.
QgsSingleBandPseudoColorRenderer::QgsSingleBandPseudoColorRenderer | ( | QgsRasterInterface * | input, |
int | band, | ||
QgsRasterShader * | shader | ||
) |
Note: takes ownership of QgsRasterShader.
Definition at line 26 of file qgssinglebandpseudocolorrenderer.cpp.
QgsSingleBandPseudoColorRenderer::~QgsSingleBandPseudoColorRenderer | ( | ) |
Definition at line 36 of file qgssinglebandpseudocolorrenderer.cpp.
References mShader.
|
virtual |
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 QgsRasterRenderer.
Definition at line 104 of file qgssinglebandpseudocolorrenderer.cpp.
References QgsRasterTransparency::alphaValue(), QGis::ARGB32_Premultiplied, QgsRasterInterface::block(), QgsRasterBlock::isEmpty(), QgsRasterBlock::isNoData(), QgsRasterRenderer::mAlphaBand, mBand, QgsRasterInterface::mInput, QgsRasterRenderer::mOpacity, QgsRasterRenderer::mRasterTransparency, mShader, QgsRasterRenderer::NODATA_COLOR, QgsDebugMsg, QgsRasterBlock::reset(), QgsRasterBlock::setColor(), QgsRasterShader::shade(), QgsRasterRenderer::usesTransparency(), and QgsRasterBlock::value().
|
inline |
Definition at line 53 of file qgssinglebandpseudocolorrenderer.h.
Referenced by QgsSingleBandPseudoColorRendererWidget::setFromRenderer().
|
inline |
Definition at line 52 of file qgssinglebandpseudocolorrenderer.h.
Referenced by QgsSingleBandPseudoColorRendererWidget::setFromRenderer().
|
inline |
Definition at line 56 of file qgssinglebandpseudocolorrenderer.h.
Referenced by QgsSingleBandPseudoColorRendererWidget::setFromRenderer().
|
virtual |
Clone itself, create deep copy.
Implements QgsRasterRenderer.
Definition at line 41 of file qgssinglebandpseudocolorrenderer.cpp.
References QgsRasterRenderer::mAlphaBand, QgsRasterShader::maximumValue(), mBand, QgsRasterShader::minimumValue(), QgsRasterRenderer::mOpacity, QgsRasterRenderer::mRasterTransparency, mShader, QgsSingleBandPseudoColorRenderer(), QgsRasterShader::rasterShaderFunction(), QgsRasterRenderer::setAlphaBand(), QgsColorRampShader::setColorRampItemList(), QgsColorRampShader::setColorRampType(), QgsRasterRenderer::setOpacity(), QgsRasterShader::setRasterShaderFunction(), QgsRasterRenderer::setRasterTransparency(), and shader().
|
static |
Definition at line 77 of file qgssinglebandpseudocolorrenderer.cpp.
References QgsRasterRenderer::minMaxOriginFromName(), QgsSingleBandPseudoColorRenderer(), QgsRasterShader::readXML(), QgsRasterRenderer::readXML(), setClassificationMax(), setClassificationMin(), setClassificationMinMaxOrigin(), and shader().
Referenced by QgsRasterRendererRegistry::QgsRasterRendererRegistry().
|
virtual |
Get symbology items if provided by renderer.
Reimplemented from QgsRasterRenderer.
Definition at line 225 of file qgssinglebandpseudocolorrenderer.cpp.
References QgsRasterShaderFunction::legendSymbologyItems(), mShader, and QgsRasterShader::rasterShaderFunction().
|
inline |
Definition at line 55 of file qgssinglebandpseudocolorrenderer.h.
References MathUtils::max().
Referenced by create(), and QgsSingleBandPseudoColorRendererWidget::renderer().
|
inline |
Definition at line 54 of file qgssinglebandpseudocolorrenderer.h.
References MathUtils::min().
Referenced by create(), and QgsSingleBandPseudoColorRendererWidget::renderer().
|
inline |
Definition at line 57 of file qgssinglebandpseudocolorrenderer.h.
Referenced by create(), and QgsSingleBandPseudoColorRendererWidget::renderer().
void QgsSingleBandPseudoColorRenderer::setShader | ( | QgsRasterShader * | shader | ) |
Takes ownership of the shader.
Definition at line 71 of file qgssinglebandpseudocolorrenderer.cpp.
References mShader, and shader().
Referenced by QgsRasterLayer::setDataProvider().
|
inline |
Definition at line 43 of file qgssinglebandpseudocolorrenderer.h.
Referenced by clone(), create(), QgsSingleBandPseudoColorRendererWidget::setFromRenderer(), and setShader().
|
inline |
Definition at line 44 of file qgssinglebandpseudocolorrenderer.h.
|
virtual |
Returns a list of band numbers used by the renderer.
Reimplemented from QgsRasterRenderer.
Definition at line 237 of file qgssinglebandpseudocolorrenderer.cpp.
References mBand.
|
virtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 204 of file qgssinglebandpseudocolorrenderer.cpp.
References QgsRasterRenderer::_writeXML(), mBand, mClassificationMax, mClassificationMin, mClassificationMinMaxOrigin, QgsRasterRenderer::minMaxOriginName(), mShader, and QgsRasterShader::writeXML().
|
private |
Definition at line 61 of file qgssinglebandpseudocolorrenderer.h.
Referenced by block(), clone(), usesBands(), and writeXML().
|
private |
Definition at line 66 of file qgssinglebandpseudocolorrenderer.h.
Referenced by writeXML().
|
private |
Definition at line 65 of file qgssinglebandpseudocolorrenderer.h.
Referenced by writeXML().
|
private |
Definition at line 68 of file qgssinglebandpseudocolorrenderer.h.
Referenced by writeXML().
|
private |
Definition at line 60 of file qgssinglebandpseudocolorrenderer.h.
Referenced by block(), clone(), legendSymbologyItems(), setShader(), writeXML(), and ~QgsSingleBandPseudoColorRenderer().