Qwt User's Guide 6.2.0

Public Member Functions | Protected Attributes | List of all members
QwtSeriesData< T > Class Template Referenceabstract

Abstract interface for iterating over samples. More...

`#include <qwt_series_data.h>`

Inheritance diagram for QwtSeriesData< T >:

## Public Member Functions

| QwtSeriesData ()
| Constructor.
virtual | ~QwtSeriesData ()
| Destructor.
virtual size_t | size () const =0
virtual T | sample (size_t i) const =0
virtual QRectF | boundingRect () const =0
virtual void | setRectOfInterest (const QRectF &rect)

## Protected Attributes

QRectF | cachedBoundingRect
| Can be used to cache a calculated bounding rectangle.

## Detailed Description

### template<typename T>
class QwtSeriesData< T >

Abstract interface for iterating over samples.

Qwt offers several implementations of the QwtSeriesData API, but in situations, where data of an application specific format needs to be displayed, without having to copy it, it is recommended to implement an individual data access.

A subclass of QwtSeriesData<QPointF> must implement:

- size()
  Should return number of data points.
- sample()
  Should return values x and y values of the sample at specific position as QPointF object.
- boundingRect()
  Should return the bounding rectangle of the data series. It is used for autoscaling and might help certain algorithms for displaying the data. You can use qwtBoundingRect() for an implementation but often it is possible to implement a more efficient algorithm depending on the characteristics of the series. The member cachedBoundingRect is intended for caching the calculated rectangle.

Definition at line 49 of file qwt_series_data.h.

## Member Function Documentation

## ◆ boundingRect()

template<typename T >

virtual QRectF QwtSeriesData< T >::boundingRect | ( |  | ) | const

pure virtual

Calculate the bounding rect of all samples

The bounding rect is necessary for autoscaling and can be used for a couple of painting optimizations.

qwtBoundingRect(...) offers slow implementations iterating over the samples. For large sets it is recommended to implement something faster f.e. by caching the bounding rectangle.

Returns
  Bounding rectangle

Implemented in QwtTradingChartData, QwtVectorFieldData, QwtSetSeriesData, QwtIntervalSeriesData, QwtPoint3DSeriesData, QwtPointSeriesData, and QwtSyntheticPointData.

## ◆ sample()

template<typename T >

virtual T QwtSeriesData< T >::sample | ( | size_t | i | ) | const

pure virtual

Return a sample

Parameters

  i | Index

Returns
  Sample at position i

Implemented in QwtArraySeriesData< T >, QwtArraySeriesData< QwtIntervalSample >, QwtArraySeriesData< QwtVectorFieldSample >, QwtArraySeriesData< QwtOHLCSample >, QwtArraySeriesData< QPointF >, QwtArraySeriesData< QwtSetSample >, QwtArraySeriesData< QwtPoint3D >, QwtSyntheticPointData, QwtCPointerValueData< T >, QwtValuePointData< T >, QwtCPointerData< T >, and QwtPointArrayData< T >.

## ◆ setRectOfInterest()

template<typename T >

void QwtSeriesData< T >::setRectOfInterest | ( | const QRectF & | rect | ) |

virtual

Set a the "rect of interest"

QwtPlotSeriesItem defines the current area of the plot canvas as "rectangle of interest" ( QwtPlotSeriesItem::updateScaleDiv() ). It can be used to implement different levels of details.

The default implementation does nothing.

Parameters

  rect | Rectangle of interest

Reimplemented in QwtSyntheticPointData.

Definition at line 124 of file qwt_series_data.h.

## ◆ size()

template<typename T >

virtual size_t QwtSeriesData< T >::size | ( |  | ) | const

pure virtual

Returns
  Number of samples

Implemented in QwtArraySeriesData< T >, QwtArraySeriesData< QwtIntervalSample >, QwtArraySeriesData< QwtVectorFieldSample >, QwtArraySeriesData< QwtOHLCSample >, QwtArraySeriesData< QPointF >, QwtArraySeriesData< QwtSetSample >, QwtArraySeriesData< QwtPoint3D >, QwtSyntheticPointData, QwtCPointerValueData< T >, QwtValuePointData< T >, QwtCPointerData< T >, and QwtPointArrayData< T >.