QWT API (English) 7.3.0
Qt Widget Library for Technical Applications - English API Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
QwtRasterData Class Referenceabstract

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

#include <qwt_raster_data.h>

Inheritance diagram for QwtRasterData:
QwtGridRasterData QwtMatrixRasterData

Classes

class  ContourPlane
 
class  PrivateData
 

Public Types

enum  Attribute { WithoutGaps = 0x01 }
 Raster data attributes. More...
 
enum  ConrecFlag { IgnoreAllVerticesOnLevel = 0x01 , IgnoreOutOfRange = 0x02 }
 Flags to modify the contour algorithm. More...
 
using ContourLines = QMap< double, QPolygonF >
 Contour lines.
 

Public Member Functions

 QwtRasterData ()
 Constructor.
 
virtual ~QwtRasterData ()
 Destructor.
 
void setAttribute (Attribute, bool on=true)
 Set an attribute.
 
bool testAttribute (Attribute) const
 Test an attribute.
 
virtual QwtInterval interval (Qt::Axis) const =0
 
virtual QRectF pixelHint (const QRectF &) const
 Return a hint for the raster item, about how to align the pixels.
 
virtual void initRaster (const QRectF &, const QSize &raster)
 Initialize the raster.
 
virtual void discardRaster ()
 Discard the raster.
 
virtual double value (double x, double y) const =0
 
virtual ContourLines contourLines (const QRectF &rect, const QSize &raster, const QList< double > &levels, ConrecFlags) const
 Calculate contour lines.
 

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.

Gaps inside the bounding rectangle of the data can be indicated by NaN values ( when WithoutGaps is disabled ).

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 ).

QwtMatrixRasterData implements raster data, that returns values from a given 2D matrix.

See also
QwtMatrixRasterData

Member Enumeration Documentation

◆ Attribute

Raster data attributes.

Additional information that is used to improve processing of the data.

Enumerator
WithoutGaps 

The bounding rectangle of the data is spanned by the interval(Qt::XAxis) and interval(Qt::YAxis).

WithoutGaps indicates, that the data has no gaps ( unknown values ) in this area and the result of value() does not need to be checked for NaN values.

Enabling this flag will have an positive effect on the performance of rendering a QwtPlotSpectrogram.

The default setting is false.

Note
NaN values indicate an undefined value

◆ ConrecFlag

Flags to modify the contour algorithm.

Enumerator
IgnoreAllVerticesOnLevel 

Ignore all vertices on the same level.

IgnoreOutOfRange 

Ignore all values, that are out of range.

Constructor & Destructor Documentation

◆ QwtRasterData()

QwtRasterData::QwtRasterData ( )

Constructor.

Creates a QwtRasterData object with default attributes.

Destructor

Member Function Documentation

◆ contourLines()

QwtRasterData::ContourLines QwtRasterData::contourLines ( const QRectF &  rect,
const QSize &  raster,
const QList< double > &  levels,
ConrecFlags  flags 
) const
virtual

Calculate contour lines.

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

Parameters
[in]rectBounding rectangle for the contour lines
[in]rasterNumber of data pixels of the raster data
[in]levelsList of limits, where to insert contour lines
[in]flagsFlags to customize the contouring algorithm
Returns
Calculated contour lines

◆ discardRaster()

void QwtRasterData::discardRaster ( )
virtual

Discard the raster.

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 be deleted now.
See also
initRaster(), value()

◆ initRaster()

void QwtRasterData::initRaster ( const QRectF &  area,
const QSize &  raster 
)
virtual

Initialize the raster.

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
[in]areaArea of the raster
[in]rasterNumber of horizontal and vertical pixels
See also
discardRaster(), value()

◆ interval()

virtual QwtInterval QwtRasterData::interval ( Qt::Axis  ) const
pure virtual

Implemented in QwtGridRasterData, and QwtMatrixRasterData.

◆ pixelHint()

QRectF QwtRasterData::pixelHint ( const QRectF &  area) const
virtual

Return a hint for the raster item, about how to align the pixels.

Pixel hint.

pixelHint() returns the geometry of a pixel, that can be used to calculate the resolution and alignment of the plot item, that is representing the data.

Width and height of the hint need to be the horizontal and vertical distances between 2 neighbored points. The center of the hint has to be the position of any point ( it doesn't matter which one ).

An empty hint indicates, that there are values for any detail level.

Limiting the resolution of the image might significantly improve the performance and heavily reduce the amount of memory when rendering a QImage from the raster data.

The default implementation returns an empty rectangle recommending to render in target device ( f.e. screen ) resolution.

Parameters
[in]areaIn most implementations the resolution of the data doesn't depend on the requested area.
Returns
Bounding rectangle of a pixel

Reimplemented in QwtGridRasterData, and QwtMatrixRasterData.

◆ setAttribute()

void QwtRasterData::setAttribute ( Attribute  attribute,
bool  on = true 
)

Set an attribute.

Specify an attribute of the data.

Parameters
[in]attributeAttribute to set
[in]onOn/Off state
See also
Attribute, testAttribute()

◆ testAttribute()

bool QwtRasterData::testAttribute ( Attribute  attribute) const

Test an attribute.

Test if an attribute is enabled.

Parameters
[in]attributeAttribute to test
Returns
True when attribute is enabled
See also
Attribute, setAttribute()

◆ value()

virtual double QwtRasterData::value ( double  x,
double  y 
) const
pure virtual

Implemented in QwtGridRasterData, and QwtMatrixRasterData.


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