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

# QwtRasterData(3)

QwtRasterData defines an interface to any type of raster data.

## NAME

QwtRasterData - **QwtRasterData** defines an interface to any type of raster data.

## SYNOPSIS

`#include <qwt_raster_data.h>`

Inherited by **QwtMatrixRasterData**.

### Public Types

enum **ConrecFlag** { **IgnoreAllVerticesOnLevel** = 0x01, **IgnoreOutOfRange** = 0x02 }\
 Flags to modify the contour algorithm.  typedef QMap\< double, QPolygonF \> **ContourLines**\
 Contour lines.  typedef QFlags\< **ConrecFlag** \> **ConrecFlags**\
 Flags to modify the contour algorithm.

### Public Member Functions

**QwtRasterData** ()\
 Constructor.  virtual **~QwtRasterData** ()\
 Destructor.  virtual void **setInterval** (Qt::Axis, const **QwtInterval** &)\
 const **QwtInterval** & **interval** (Qt::Axis) const\
 virtual QRectF **pixelHint** (const QRectF &) const\
 Pixel hint.  virtual void **initRaster** (const QRectF &, const QSize &raster)\
 Initialize a raster.  virtual void **discardRaster** ()\
 Discard a 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\

## 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

### enum QwtRasterData::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.*

## Member Function Documentation

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

*Calculate contour lines*

**Parameters:**

*rect Bounding rectangle for the contour lines* \
 *raster Number of data pixels of the raster data* \
 *levels List of limits, where to insert contour lines* \
 *flags Flags to customize the contouring algorithm*

**Returns:**

*Calculated contour lines*

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

### 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 QRectF & area, 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:**

*area Area of the raster* \
 *raster Number of horizontal and vertical pixels*

**See also:**

**initRaster()***,* **value()**

### const QwtInterval & QwtRasterData::interval (Qt::Axis axis) const` [inline]`

**Returns:**

*Bounding interval for a axis*

**See also:**

**setInterval**

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

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

*area In most implementations the resolution of the data doesn't depend on the requested area.*

**Returns:**

*Bounding rectangle of a pixel*

*Reimplemented in* **QwtMatrixRasterData***.*

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

*Set the bounding interval for the x, y or z coordinates.*

**Parameters:**

*axis Axis* \
 *interval Bounding interval*

**See also:**

**interval()**

*Reimplemented in* **QwtMatrixRasterData***.*

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

**Returns:**

*the value at a raster position*

**Parameters:**

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

*Implemented in* **QwtMatrixRasterData***.*

## Author

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