---
name: "QwtMatrixRasterData"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtMatrixRasterData"
---

# QwtMatrixRasterData(3)

A class representing a matrix of values as raster data.

## NAME

QwtMatrixRasterData - A class representing a matrix of values as raster data.

## SYNOPSIS

`#include <qwt_matrix_raster_data.h>`

Inherits **QwtRasterData**.

### Public Types

enum **ResampleMode** { **NearestNeighbour**, **BilinearInterpolation** }\
 Resampling algorithm The default setting is NearestNeighbour;.

### Public Member Functions

**QwtMatrixRasterData** ()\
 Constructor.  virtual **~QwtMatrixRasterData** ()\
 Destructor.  void **setResampleMode** (**ResampleMode** mode)\
 Set the resampling algorithm.  **ResampleMode** **resampleMode** () const\
 virtual void **setInterval** (Qt::Axis, const **QwtInterval** &)\
 Assign the bounding interval for an axis.  void **setValueMatrix** (const QVector\< double \> &values, int **numColumns**)\
 Assign a value matrix.  const QVector\< double \> **valueMatrix** () const\
 void **setValue** (int row, int col, double **value**)\
 Change a single value in the matrix.  int **numColumns** () const\
 int **numRows** () const\
 virtual QRectF **pixelHint** (const QRectF &) const\
 Calculate the pixel hint.  virtual double **value** (double x, double y) 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.

## Member Enumeration Documentation

### enum QwtMatrixRasterData::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,*

## Member Function Documentation

### int QwtMatrixRasterData::numColumns () const

**Returns:**

*Number of columns of the value matrix*

**See also:**

**valueMatrix()***,* **numRows()***,* **setValueMatrix()**

### int QwtMatrixRasterData::numRows () const

**Returns:**

*Number of rows of the value matrix*

**See also:**

**valueMatrix()***,* **numColumns()***,* **setValueMatrix()**

### QRectF QwtMatrixRasterData::pixelHint (const QRectF & area) const` [virtual]`

*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:**

*area Requested area, ignored*

**Returns:**

*Calculated hint*

**See also:**

**ResampleMode***, setMatrix(),* **setInterval()**

*Reimplemented from* **QwtRasterData***.*

### QwtMatrixRasterData::ResampleMode QwtMatrixRasterData::resampleMode () const

**Returns:**

*resampling algorithm*

**See also:**

**setResampleMode()***,* **value()**

### void QwtMatrixRasterData::setInterval (Qt::Axis axis, const QwtInterval & interval)` [virtual]`

*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:**

*axis X, Y or Z axis* \
 *interval Interval*

**See also:**

**QwtRasterData::interval()***,* **setValueMatrix()**

*Reimplemented from* **QwtRasterData***.*

### void QwtMatrixRasterData::setResampleMode (ResampleMode mode)

*Set the resampling algorithm.*

**Parameters:**

*mode Resampling mode*

**See also:**

**resampleMode()***,* **value()**

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

*Change a single value in the matrix.*

**Parameters:**

*row Row index* \
 *col Column index* \
 *value New value*

**See also:**

**value()***,* **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:**

*values Vector of values* \
 *numColumns Number of columns*

**See also:**

**valueMatrix()***,* **numColumns()***,* **numRows()***,* **setInterval()***()*

### double QwtMatrixRasterData::value (double x, double y) const` [virtual]`

**Returns:**

*the value at a raster position*

**Parameters:**

*x X value in plot coordinates* \
 *y Y value in plot coordinates*

**See also:**

**ResampleMode**

*Implements* **QwtRasterData***.*

### const QVector\< double \> QwtMatrixRasterData::valueMatrix () const

**Returns:**

*Value matrix*

**See also:**

**setValueMatrix()***,* **numColumns()***,* **numRows()***,* **setInterval()**

## Author

*Generated automatically by Doxygen for Qwt User's Guide from the source code.*
