# QwtSeriesData< T > Class Template Reference

Abstract interface for iterating over samples. More...

`#include <qwt_series_data.h>`

Inheritance diagram for QwtSeriesData< T >:
[legend]

List of all members.

## Public Member Functions

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

## Protected Attributes

QRectF | d_boundingRect

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

## Constructor & Destructor Documentation

template<typename T >

QwtSeriesData< T >::QwtSeriesData | ( |  | ) |

Constructor.

template<typename T >

QwtSeriesData< T >::~QwtSeriesData | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

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

Implemented in QwtPointSeriesData, QwtPoint3DSeriesData, QwtIntervalSeriesData, QwtSetSeriesData, QwtPointArrayData, QwtCPointerData, and QwtSyntheticPointData.

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 >, QwtPointArrayData, QwtCPointerData, QwtSyntheticPointData, QwtArraySeriesData< QwtIntervalSample >, QwtArraySeriesData< QPointF >, QwtArraySeriesData< QwtPoint3D >, and QwtArraySeriesData< QwtSetSample >.

template<typename T >

void QwtSeriesData< T >::setRectOfInterest | ( | const QRectF & |  | ) | `[virtual]`

Set a the "rect of interest"

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

The default implementation does nothing.

Reimplemented in QwtSyntheticPointData.

template<typename T>

virtual size_t QwtSeriesData< T >::size | ( |  | ) | const`[pure virtual]`

Returns:
  Number of samples

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

## Member Data Documentation

template<typename T>

QRectF QwtSeriesData< T >::d_boundingRect `[mutable, protected]`

Can be used to cache a calculated bounding rectangle.