QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
QgsPalettedRasterRenderer Class Reference

Renderer for paletted raster images. More...

#include <qgspalettedrasterrenderer.h>

Inheritance diagram for QgsPalettedRasterRenderer:
Inheritance graph
[legend]
Collaboration diagram for QgsPalettedRasterRenderer:
Collaboration graph
[legend]

Public Member Functions

 QgsPalettedRasterRenderer (QgsRasterInterface *input, int bandNumber, QColor *colorArray, int nColors, const QVector< QString > labels=QVector< QString >())
 Renderer owns color array.
 QgsPalettedRasterRenderer (QgsRasterInterface *input, int bandNumber, QRgb *colorArray, int nColors, const QVector< QString > labels=QVector< QString >())
 ~QgsPalettedRasterRenderer ()
QgsRasterInterfaceclone () const
 Clone itself, create deep copy.
QgsRasterBlockblock (int bandNo, const QgsRectangle &extent, int width, int height)
 Read block of data using given extent and size.
int nColors () const
 Returns number of colors.
QColor * colors () const
 Returns copy of color array (caller takes ownership)
QRgb * rgbArray () const
 Returns copy of rgb array (caller takes ownership)
QString label (int idx) const
 Return optional category label.
void setLabel (int idx, QString label)
 Set category label.
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.
- 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 QgsRasterTransparencyrasterTransparency () 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 QgsRasterInterfaceinput () const
 Current input.
virtual bool on () const
 Is on/off.
virtual void setOn (bool on)
 Set on/off.
virtual const QgsRasterInterfacesrcInput () const
 Get source / raw input, the first in pipe, usually provider.
virtual QgsRasterInterfacesrcInput ()
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 QgsRasterRenderercreate (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

int mBand
QRgb * mColors
 Color array.
int mNColors
 Number of colors.
QVector< QString > mLabels
 Optional category labels, size of vector may be < mNColors.

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)
QgsRasterTransparencymRasterTransparency
 Raster transparency per color or value.
int mAlphaBand
 Read alpha value from band.

Detailed Description

Renderer for paletted raster images.

Definition at line 31 of file qgspalettedrasterrenderer.h.

Constructor & Destructor Documentation

QgsPalettedRasterRenderer::QgsPalettedRasterRenderer ( QgsRasterInterface input,
int  bandNumber,
QColor *  colorArray,
int  nColors,
const QVector< QString >  labels = QVector<QString>() 
)

Renderer owns color array.

Definition at line 27 of file qgspalettedrasterrenderer.cpp.

References mColors, and nColors().

Referenced by clone(), and create().

QgsPalettedRasterRenderer::QgsPalettedRasterRenderer ( QgsRasterInterface input,
int  bandNumber,
QRgb *  colorArray,
int  nColors,
const QVector< QString >  labels = QVector<QString>() 
)

Definition at line 39 of file qgspalettedrasterrenderer.cpp.

QgsPalettedRasterRenderer::~QgsPalettedRasterRenderer ( )

Definition at line 44 of file qgspalettedrasterrenderer.cpp.

References mColors.

Member Function Documentation

QgsRasterBlock * QgsPalettedRasterRenderer::block ( int  bandNo,
const QgsRectangle extent,
int  width,
int  height 
)
virtual

Read block of data using given extent and size.

Returns pointer to data. Caller is responsible to free the memory returned.

Parameters
bandNoband number
extentextent of block
widthpixel width of block
heightpixel height of block

Implements QgsRasterRenderer.

Definition at line 155 of file qgspalettedrasterrenderer.cpp.

References QgsRasterTransparency::alphaValue(), QGis::ARGB32_Premultiplied, QgsRasterBlock::bits(), QgsRasterInterface::block(), QgsRasterBlock::isEmpty(), QgsRasterBlock::isNoData(), QgsRasterRenderer::mAlphaBand, mBand, mColors, QgsRasterInterface::mInput, QgsRasterRenderer::mOpacity, QgsRasterRenderer::mRasterTransparency, QgsRasterRenderer::NODATA_COLOR, QgsDebugMsg, QgsRasterBlock::reset(), QgsRasterRenderer::usesTransparency(), and QgsRasterBlock::value().

QgsRasterInterface * QgsPalettedRasterRenderer::clone ( ) const
virtual
QColor * QgsPalettedRasterRenderer::colors ( ) const

Returns copy of color array (caller takes ownership)

Definition at line 118 of file qgspalettedrasterrenderer.cpp.

References mColors, and mNColors.

Referenced by create(), and QgsPalettedRendererWidget::setFromRenderer().

QgsRasterRenderer * QgsPalettedRasterRenderer::create ( const QDomElement &  elem,
QgsRasterInterface input 
)
static
QString QgsPalettedRasterRenderer::label ( int  idx) const
inline

Return optional category label.

Note
added in 2.1

Definition at line 55 of file qgspalettedrasterrenderer.h.

Referenced by create(), legendSymbologyItems(), QgsPalettedRendererWidget::setFromRenderer(), setLabel(), and writeXML().

void QgsPalettedRasterRenderer::legendSymbologyItems ( QList< QPair< QString, QColor > > &  symbolItems) const
virtual

Get symbology items if provided by renderer.

Reimplemented from QgsRasterRenderer.

Definition at line 272 of file qgspalettedrasterrenderer.cpp.

References label(), mColors, and mNColors.

int QgsPalettedRasterRenderer::nColors ( ) const
inline

Returns number of colors.

Definition at line 44 of file qgspalettedrasterrenderer.h.

Referenced by create(), QgsPalettedRasterRenderer(), and QgsPalettedRendererWidget::setFromRenderer().

QRgb * QgsPalettedRasterRenderer::rgbArray ( ) const

Returns copy of rgb array (caller takes ownership)

Note
not available in python bindings

Definition at line 132 of file qgspalettedrasterrenderer.cpp.

References mColors, and mNColors.

Referenced by clone().

void QgsPalettedRasterRenderer::setLabel ( int  idx,
QString  label 
)

Set category label.

Note
added in 2.1

Definition at line 146 of file qgspalettedrasterrenderer.cpp.

References label(), and mLabels.

QList< int > QgsPalettedRasterRenderer::usesBands ( ) const
virtual

Returns a list of band numbers used by the renderer.

Reimplemented from QgsRasterRenderer.

Definition at line 281 of file qgspalettedrasterrenderer.cpp.

References mBand.

void QgsPalettedRasterRenderer::writeXML ( QDomDocument &  doc,
QDomElement &  parentElem 
) const
virtual

Write base class members to xml.

Reimplemented from QgsRasterInterface.

Definition at line 244 of file qgspalettedrasterrenderer.cpp.

References QgsRasterRenderer::_writeXML(), label(), mBand, mColors, and mNColors.

Member Data Documentation

int QgsPalettedRasterRenderer::mBand
private

Definition at line 68 of file qgspalettedrasterrenderer.h.

Referenced by block(), clone(), usesBands(), and writeXML().

QRgb* QgsPalettedRasterRenderer::mColors
private
QVector<QString> QgsPalettedRasterRenderer::mLabels
private

Optional category labels, size of vector may be < mNColors.

Definition at line 74 of file qgspalettedrasterrenderer.h.

Referenced by clone(), and setLabel().

int QgsPalettedRasterRenderer::mNColors
private

Number of colors.

Definition at line 72 of file qgspalettedrasterrenderer.h.

Referenced by clone(), colors(), legendSymbologyItems(), rgbArray(), and writeXML().


The documentation for this class was generated from the following files: