Qwt User's Guide 5.2.2
Public Types | Public Member Functions

QwtRasterData Class Reference

QwtRasterData defines an interface to any type of raster data. More...

#include <qwt_raster_data.h>

Inheritance diagram for QwtRasterData:
Inheritance graph
[legend]

List of all members.

Public Types

enum  ConrecAttribute {
  IgnoreAllVerticesOnLevel = 1,
  IgnoreOutOfRange = 2
}
typedef QMap< double, QPolygonF > ContourLines

Public Member Functions

QwtDoubleRect boundingRect () const
virtual ContourLines contourLines (const QwtDoubleRect &rect, const QSize &raster, const QList< double > &levels, int flags) const
virtual QwtRasterDatacopy () const =0
virtual void discardRaster ()
virtual void initRaster (const QwtDoubleRect &, const QSize &raster)
 QwtRasterData ()
 QwtRasterData (const QwtDoubleRect &)
virtual QwtDoubleInterval range () const =0
virtual QSize rasterHint (const QwtDoubleRect &) const
virtual void setBoundingRect (const QwtDoubleRect &)
virtual double value (double x, double y) const =0
virtual ~QwtRasterData ()

Detailed Description

QwtRasterData defines an interface to any type of raster data.

QwtRasterData is an abstract interface, that is used by QwtPlotRasterItem to find the values at the pixels of its raster.

Often a raster item is used to display values from a matrix. Then the derived raster data class needs to implement some sort of resampling, that maps the raster of the matrix into the requested raster of the raster item ( depending on resolution and scales of the canvas ).


Member Enumeration Documentation

Attribute to modify the contour algorithm.


Constructor & Destructor Documentation

QwtRasterData::QwtRasterData ( )

Constructor.

QwtRasterData::QwtRasterData ( const QwtDoubleRect &  boundingRect)

Constructor

Parameters:
boundingRectBounding rectangle
See also:
setBoundingRect()
QwtRasterData::~QwtRasterData ( ) [virtual]

Destructor.


Member Function Documentation

QwtDoubleRect QwtRasterData::boundingRect ( ) const
Returns:
Bounding rectangle
See also:
boundingRect()
QwtRasterData::ContourLines QwtRasterData::contourLines ( const QwtDoubleRect &  rect,
const QSize &  raster,
const QList< double > &  levels,
int  flags 
) const [virtual]

Calculate contour lines

An adaption of CONREC, a simple contouring algorithm. http://local.wasp.uwa.edu.au/~pbourke/papers/conrec/

virtual QwtRasterData* QwtRasterData::copy ( ) const [pure virtual]

Clone the data.

void QwtRasterData::discardRaster ( ) [virtual]

Discard a raster.

After the composition of an image QwtPlotSpectrogram calls discardRaster().

The default implementation does nothing, but if data has been loaded in initRaster(), it could deleted now.

See also:
initRaster(), value()
void QwtRasterData::initRaster ( const QwtDoubleRect &  ,
const QSize &  raster 
) [virtual]

Initialize a raster.

Before the composition of an image QwtPlotSpectrogram calls initRaster, announcing the area and its resolution that will be requested.

The default implementation does nothing, but for data sets that are stored in files, it might be good idea to reimplement initRaster, where the data is resampled and loaded into memory.

Parameters:
rectArea of the raster
rasterNumber of horizontal and vertical pixels
See also:
initRaster(), value()
virtual QwtDoubleInterval QwtRasterData::range ( ) const [pure virtual]
Returns:
the range of the values
QSize QwtRasterData::rasterHint ( const QwtDoubleRect &  ) const [virtual]

Find the raster of the data for an area.

The resolution is the number of horizontal and vertical pixels that the data can return for an area. An invalid resolution indicates that the data can return values for any detail level.

The resolution will limit the size of the image that is rendered from the data. F.e. this might be important when printing a spectrogram to a A0 printer with 600 dpi.

The default implementation returns an invalid resolution (size)

Parameters:
rectIn most implementations the resolution of the data doesn't depend on the requested rectangle.
Returns:
Resolution, as number of horizontal and vertical pixels
void QwtRasterData::setBoundingRect ( const QwtDoubleRect &  boundingRect) [virtual]

Set the bounding rect ( == area, un plot coordinates )

Parameters:
boundingRectBounding rectangle
See also:
boundingRect()
virtual double QwtRasterData::value ( double  x,
double  y 
) const [pure virtual]
Returns:
the value at a raster position
Parameters:
xX value in plot coordinates
yY value in plot coordinates