Qwt User's Guide  6.2.0
QwtMatrixRasterData Class Reference

A class representing a matrix of values as raster data. More...

#include <qwt_matrix_raster_data.h>

Inheritance diagram for QwtMatrixRasterData:

Public Types

enum  ResampleMode { NearestNeighbour , BilinearInterpolation , BicubicInterpolation }
 Resampling algorithm The default setting is NearestNeighbour;. More...
 
- Public Types inherited from QwtRasterData
enum  Attribute { WithoutGaps = 0x01 }
 Raster data attributes. More...
 
enum  ConrecFlag { IgnoreAllVerticesOnLevel = 0x01 , IgnoreOutOfRange = 0x02 }
 Flags to modify the contour algorithm. More...
 
typedef QMap< double, QPolygonF > ContourLines
 Contour lines.
 
typedef QFlags< AttributeAttributes
 
typedef QFlags< ConrecFlagConrecFlags
 

Public Member Functions

 QwtMatrixRasterData ()
 Constructor.
 
virtual ~QwtMatrixRasterData ()
 Destructor.
 
void setResampleMode (ResampleMode mode)
 Set the resampling algorithm. More...
 
ResampleMode resampleMode () const
 
void setInterval (Qt::Axis, const QwtInterval &)
 Assign the bounding interval for an axis. More...
 
virtual QwtInterval interval (Qt::Axis axis) const override final
 
void setValueMatrix (const QVector< double > &values, int numColumns)
 Assign a value matrix. More...
 
const QVector< double > valueMatrix () const
 
void setValue (int row, int col, double value)
 Change a single value in the matrix. More...
 
int numColumns () const
 
int numRows () const
 
virtual QRectF pixelHint (const QRectF &) const override
 Calculate the pixel hint. More...
 
virtual double value (double x, double y) const override
 
- Public Member Functions inherited from QwtRasterData
 QwtRasterData ()
 Constructor.
 
virtual ~QwtRasterData ()
 Destructor.
 
void setAttribute (Attribute, bool on=true)
 
bool testAttribute (Attribute) const
 
virtual void initRaster (const QRectF &, const QSize &raster)
 Initialize a raster. More...
 
virtual void discardRaster ()
 Discard a raster. More...
 
virtual ContourLines contourLines (const QRectF &rect, const QSize &raster, const QList< double > &levels, ConrecFlags) const
 

Detailed Description

A class representing a matrix of values as raster data.

QwtMatrixRasterData implements an interface for a matrix of equidistant values, that can be used by a QwtPlotRasterItem. It implements a couple of resampling algorithms, to provide values for positions, that or not on the value matrix.

Definition at line 28 of file qwt_matrix_raster_data.h.

Member Enumeration Documentation

◆ ResampleMode

Resampling algorithm The default setting is NearestNeighbour;.

Enumerator
NearestNeighbour 

Return the value from the matrix, that is nearest to the the requested position.

BilinearInterpolation 

Interpolate the value from the distances and values of the 4 surrounding values in the matrix,

BicubicInterpolation 

Interpolate the value from the 16 surrounding values in the matrix using hermite bicubic interpolation

Definition at line 35 of file qwt_matrix_raster_data.h.

Member Function Documentation

◆ interval()

QwtInterval QwtMatrixRasterData::interval ( Qt::Axis  axis) const
finaloverridevirtual
Returns
Bounding interval for an axis
See also
setInterval

Implements QwtRasterData.

Definition at line 134 of file qwt_matrix_raster_data.cpp.

◆ numColumns()

int QwtMatrixRasterData::numColumns ( ) const
Returns
Number of columns of the value matrix
See also
valueMatrix(), numRows(), setValueMatrix()

Definition at line 195 of file qwt_matrix_raster_data.cpp.

◆ numRows()

int QwtMatrixRasterData::numRows ( ) const
Returns
Number of rows of the value matrix
See also
valueMatrix(), numColumns(), setValueMatrix()

Definition at line 204 of file qwt_matrix_raster_data.cpp.

◆ pixelHint()

QRectF QwtMatrixRasterData::pixelHint ( const QRectF &  area) const
overridevirtual

Calculate the 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.

  • NearestNeighbour
    pixelHint() returns the surrounding pixel of the top left value in the matrix.
  • BilinearInterpolation
    Returns an empty rectangle recommending to render in target device ( f.e. screen ) resolution.
Parameters
areaRequested area, ignored
Returns
Calculated hint
See also
ResampleMode, setMatrix(), setInterval()

Reimplemented from QwtRasterData.

Definition at line 229 of file qwt_matrix_raster_data.cpp.

◆ resampleMode()

QwtMatrixRasterData::ResampleMode QwtMatrixRasterData::resampleMode ( ) const
Returns
resampling algorithm
See also
setResampleMode(), value()

Definition at line 99 of file qwt_matrix_raster_data.cpp.

◆ setInterval()

void QwtMatrixRasterData::setInterval ( Qt::Axis  axis,
const QwtInterval interval 
)

Assign the bounding interval for an axis.

Setting the bounding intervals for the X/Y axis is mandatory to define the positions for the values of the value matrix. The interval in Z direction defines the possible range for the values in the matrix, what is f.e used by QwtPlotSpectrogram to map values to colors. The Z-interval might be the bounding interval of the values in the matrix, but usually it isn't. ( f.e a interval of 0.0-100.0 for values in percentage )

Parameters
axisX, Y or Z axis
intervalInterval
See also
QwtRasterData::interval(), setValueMatrix()

Definition at line 120 of file qwt_matrix_raster_data.cpp.

◆ setResampleMode()

void QwtMatrixRasterData::setResampleMode ( ResampleMode  mode)

Set the resampling algorithm.

Parameters
modeResampling mode
See also
resampleMode(), value()

Definition at line 90 of file qwt_matrix_raster_data.cpp.

◆ setValue()

void QwtMatrixRasterData::setValue ( int  row,
int  col,
double  value 
)

Change a single value in the matrix.

Parameters
rowRow index
colColumn index
valueNew value
See also
value(), setValueMatrix()

Definition at line 181 of file qwt_matrix_raster_data.cpp.

◆ setValueMatrix()

void QwtMatrixRasterData::setValueMatrix ( const QVector< double > &  values,
int  numColumns 
)

Assign a value matrix.

The positions of the values are calculated by dividing the bounding rectangle of the X/Y intervals into equidistant rectangles ( pixels ). Each value corresponds to the center of a pixel.

Parameters
valuesVector of values
numColumnsNumber of columns
See also
valueMatrix(), numColumns(), numRows(), setInterval()()

Definition at line 155 of file qwt_matrix_raster_data.cpp.

◆ value()

double QwtMatrixRasterData::value ( double  x,
double  y 
) const
overridevirtual
Returns
the value at a raster position
Parameters
xX value in plot coordinates
yY value in plot coordinates
See also
ResampleMode

Implements QwtRasterData.

Definition at line 256 of file qwt_matrix_raster_data.cpp.

◆ valueMatrix()

const QVector< double > QwtMatrixRasterData::valueMatrix ( ) const
Returns
Value matrix
See also
setValueMatrix(), numColumns(), numRows(), setInterval()

Definition at line 167 of file qwt_matrix_raster_data.cpp.