QGIS API Documentation
2.2.0-Valmiera
|
Raster renderer pipe that applies colors to a raster. More...
#include <qgsrasterrenderer.h>
Public Types | |
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... |
Public Member Functions | |
QgsRasterRenderer (QgsRasterInterface *input=0, const QString &type="") | |
virtual | ~QgsRasterRenderer () |
QgsRasterInterface * | clone () const =0 |
Clone itself, create deep copy. | |
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. | |
virtual QgsRasterBlock * | block (int bandNo, const QgsRectangle &extent, int width, int height)=0 |
Read block of data using given extent and size. | |
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 |
virtual void | legendSymbologyItems (QList< QPair< QString, QColor > > &symbolItems) const |
Get symbology items if provided by renderer. | |
void | readXML (const QDomElement &rendererElem) |
Sets base class members from xml. | |
virtual QList< int > | usesBands () const |
Returns a list of band numbers used by the renderer. | |
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. | |
virtual void | writeXML (QDomDocument &doc, QDomElement &parentElem) const |
Write base class members to xml. |
Static Public Member Functions | |
static QString | minMaxOriginName (int theOrigin) |
static QString | minMaxOriginLabel (int theOrigin) |
static int | minMaxOriginFromName (QString theName) |
Static Public Attributes | |
static const QRgb | NODATA_COLOR = qRgba( 0, 0, 0, 0 ) |
Protected Member Functions | |
void | _writeXML (QDomDocument &doc, QDomElement &rasterRendererElem) const |
Write upper class info into rasterrenderer element (called by writeXML method of subclasses) | |
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. | |
void | initStatistics (QgsRasterBandStats &theStatistics, int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theBinCount=0) |
Fill in statistics defaults if not specified. |
Protected Attributes | |
QString | mType |
double | mOpacity |
Global alpha value (0-1) | |
QgsRasterTransparency * | mRasterTransparency |
Raster transparency per color or value. | |
int | mAlphaBand |
Read alpha value from band. | |
Protected Attributes inherited from QgsRasterInterface | |
QgsRasterInterface * | mInput |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. | |
bool | mOn |
Raster renderer pipe that applies colors to a raster.
Definition at line 34 of file qgsrasterrenderer.h.
MinMaxUnknown | |
MinMaxUser | |
MinMaxMinMax | |
MinMaxCumulativeCut | |
MinMaxStdDev | |
MinMaxFullExtent | |
MinMaxSubExtent | |
MinMaxEstimated | |
MinMaxExact |
Definition at line 38 of file qgsrasterrenderer.h.
QgsRasterRenderer::QgsRasterRenderer | ( | QgsRasterInterface * | input = 0 , |
const QString & | type = "" |
||
) |
Definition at line 32 of file qgsrasterrenderer.cpp.
|
virtual |
Definition at line 39 of file qgsrasterrenderer.cpp.
|
protected |
Write upper class info into rasterrenderer element (called by writeXML method of subclasses)
Definition at line 101 of file qgsrasterrenderer.cpp.
References mAlphaBand, mOpacity, mRasterTransparency, mType, and QgsRasterTransparency::writeXML().
Referenced by QgsSingleBandColorDataRenderer::writeXML(), QgsSingleBandPseudoColorRenderer::writeXML(), QgsSingleBandGrayRenderer::writeXML(), QgsMultiBandColorRenderer::writeXML(), and QgsPalettedRasterRenderer::writeXML().
|
inline |
Definition at line 80 of file qgsrasterrenderer.h.
|
virtual |
Get number of bands.
Implements QgsRasterInterface.
Definition at line 43 of file qgsrasterrenderer.cpp.
References QgsRasterInterface::bandCount(), QgsRasterInterface::mInput, and QgsRasterInterface::mOn.
|
pure 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 QgsRasterInterface.
Implemented in QgsSingleBandGrayRenderer, QgsPalettedRasterRenderer, QgsMultiBandColorRenderer, QgsSingleBandColorDataRenderer, and QgsSingleBandPseudoColorRenderer.
|
pure virtual |
Clone itself, create deep copy.
Implements QgsRasterInterface.
Implemented in QgsSingleBandGrayRenderer, QgsPalettedRasterRenderer, QgsMultiBandColorRenderer, QgsSingleBandPseudoColorRenderer, and QgsSingleBandColorDataRenderer.
|
virtual |
Returns data type for the band specified by number.
Implements QgsRasterInterface.
Definition at line 52 of file qgsrasterrenderer.cpp.
References QGis::ARGB32_Premultiplied, QgsRasterInterface::dataType(), QgsRasterInterface::mInput, QgsRasterInterface::mOn, QgsDebugMsg, and QGis::UnknownDataType.
|
inlinevirtual |
Get symbology items if provided by renderer.
Reimplemented in QgsPalettedRasterRenderer, QgsSingleBandGrayRenderer, and QgsSingleBandPseudoColorRenderer.
Definition at line 83 of file qgsrasterrenderer.h.
Referenced by QgsRasterLayer::legendSymbologyItems().
|
static |
Definition at line 238 of file qgsrasterrenderer.cpp.
References MinMaxCumulativeCut, MinMaxEstimated, MinMaxExact, MinMaxFullExtent, MinMaxMinMax, MinMaxStdDev, MinMaxSubExtent, MinMaxUnknown, and MinMaxUser.
Referenced by QgsSingleBandPseudoColorRenderer::create().
|
static |
Definition at line 183 of file qgsrasterrenderer.cpp.
References QgsRasterInterface::extent(), MinMaxCumulativeCut, MinMaxEstimated, MinMaxExact, MinMaxFullExtent, MinMaxMinMax, MinMaxStdDev, MinMaxSubExtent, MinMaxUnknown, MinMaxUser, and tr.
Referenced by QgsSingleBandPseudoColorRendererWidget::showMinMaxOrigin().
|
static |
Definition at line 138 of file qgsrasterrenderer.cpp.
References MinMaxCumulativeCut, MinMaxEstimated, MinMaxExact, MinMaxFullExtent, MinMaxMinMax, MinMaxStdDev, MinMaxSubExtent, MinMaxUnknown, and MinMaxUser.
Referenced by QgsSingleBandPseudoColorRenderer::writeXML().
|
inline |
Definition at line 74 of file qgsrasterrenderer.h.
|
inline |
Definition at line 77 of file qgsrasterrenderer.h.
Referenced by QgsRasterLayerSaveAsDialog::on_mLoadTransparentNoDataToolButton_clicked().
|
virtual |
Sets base class members from xml.
Usually called from create() methods of subclasses
Reimplemented from QgsRasterInterface.
Definition at line 118 of file qgsrasterrenderer.cpp.
References mAlphaBand, mOpacity, mRasterTransparency, mType, and QgsRasterTransparency::readXML().
Referenced by QgsSingleBandColorDataRenderer::create(), QgsSingleBandPseudoColorRenderer::create(), QgsMultiBandColorRenderer::create(), QgsPalettedRasterRenderer::create(), and QgsSingleBandGrayRenderer::create().
|
inline |
Definition at line 79 of file qgsrasterrenderer.h.
Referenced by QgsSingleBandColorDataRenderer::clone(), QgsSingleBandPseudoColorRenderer::clone(), QgsMultiBandColorRenderer::clone(), QgsPalettedRasterRenderer::clone(), QgsSingleBandGrayRenderer::clone(), and QgsRasterLayer::setDataProvider().
|
virtual |
Set input.
Returns true if set correctly, false if cannot use that input
Reimplemented from QgsRasterInterface.
Reimplemented in QgsSingleBandColorDataRenderer.
Definition at line 63 of file qgsrasterrenderer.cpp.
References QgsRasterInterface::bandCount(), QgsRasterInterface::dataType(), QgsRasterInterface::input(), QgsRasterInterface::mInput, QgsRasterInterface::mOn, and QgsRasterBlock::typeIsNumeric().
|
inline |
Definition at line 73 of file qgsrasterrenderer.h.
Referenced by QgsSingleBandColorDataRenderer::clone(), QgsSingleBandPseudoColorRenderer::clone(), QgsMultiBandColorRenderer::clone(), QgsPalettedRasterRenderer::clone(), and QgsSingleBandGrayRenderer::clone().
void QgsRasterRenderer::setRasterTransparency | ( | QgsRasterTransparency * | t | ) |
Definition at line 95 of file qgsrasterrenderer.cpp.
References mRasterTransparency.
Referenced by QgsSingleBandColorDataRenderer::clone(), QgsSingleBandPseudoColorRenderer::clone(), QgsMultiBandColorRenderer::clone(), QgsPalettedRasterRenderer::clone(), QgsSingleBandGrayRenderer::clone(), and QgsRasterRendererRegistry::defaultRendererForDrawingStyle().
|
inlinevirtual |
Definition at line 65 of file qgsrasterrenderer.h.
Referenced by QgsRasterLayer::setContrastEnhancement().
|
inlinevirtual |
Returns a list of band numbers used by the renderer.
Reimplemented in QgsPalettedRasterRenderer, QgsMultiBandColorRenderer, QgsSingleBandGrayRenderer, QgsSingleBandPseudoColorRenderer, and QgsSingleBandColorDataRenderer.
Definition at line 89 of file qgsrasterrenderer.h.
Referenced by QgsRasterRendererRegistry::defaultRendererForDrawingStyle().
bool QgsRasterRenderer::usesTransparency | ( | ) | const |
Definition at line 86 of file qgsrasterrenderer.cpp.
References QgsRasterTransparency::isEmpty(), mAlphaBand, QgsRasterInterface::mInput, mOpacity, mRasterTransparency, and qgsDoubleNear().
Referenced by QgsSingleBandColorDataRenderer::block(), QgsSingleBandPseudoColorRenderer::block(), QgsMultiBandColorRenderer::block(), and QgsPalettedRasterRenderer::block().
|
protected |
Read alpha value from band.
Is combined with value from raster transparency / global alpha value. Default: -1 (not set)
Definition at line 108 of file qgsrasterrenderer.h.
Referenced by _writeXML(), QgsSingleBandPseudoColorRenderer::block(), QgsMultiBandColorRenderer::block(), QgsPalettedRasterRenderer::block(), QgsSingleBandGrayRenderer::block(), QgsSingleBandColorDataRenderer::clone(), QgsSingleBandPseudoColorRenderer::clone(), QgsMultiBandColorRenderer::clone(), QgsPalettedRasterRenderer::clone(), QgsSingleBandGrayRenderer::clone(), readXML(), and usesTransparency().
|
protected |
Global alpha value (0-1)
Definition at line 103 of file qgsrasterrenderer.h.
Referenced by _writeXML(), QgsSingleBandColorDataRenderer::block(), QgsSingleBandPseudoColorRenderer::block(), QgsMultiBandColorRenderer::block(), QgsPalettedRasterRenderer::block(), QgsSingleBandGrayRenderer::block(), QgsSingleBandColorDataRenderer::clone(), QgsSingleBandPseudoColorRenderer::clone(), QgsMultiBandColorRenderer::clone(), QgsPalettedRasterRenderer::clone(), QgsSingleBandGrayRenderer::clone(), readXML(), and usesTransparency().
|
protected |
Raster transparency per color or value.
Overwrites global alpha value
Definition at line 105 of file qgsrasterrenderer.h.
Referenced by _writeXML(), QgsSingleBandPseudoColorRenderer::block(), QgsMultiBandColorRenderer::block(), QgsPalettedRasterRenderer::block(), QgsSingleBandGrayRenderer::block(), QgsSingleBandColorDataRenderer::clone(), QgsSingleBandPseudoColorRenderer::clone(), QgsMultiBandColorRenderer::clone(), QgsPalettedRasterRenderer::clone(), QgsSingleBandGrayRenderer::clone(), readXML(), setRasterTransparency(), and usesTransparency().
|
protected |
Definition at line 100 of file qgsrasterrenderer.h.
Referenced by _writeXML(), and readXML().
|
static |
Definition at line 54 of file qgsrasterrenderer.h.
Referenced by QgsSingleBandPseudoColorRenderer::block(), QgsMultiBandColorRenderer::block(), QgsPalettedRasterRenderer::block(), and QgsSingleBandGrayRenderer::block().