Qwt User's Guide  6.1.3
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 ()
virtual ~QwtSeriesData ()
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 d_boundingRect
 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 d_boundingRect is intended for caching the calculated rectangle.

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

Bounding rectangle

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

template<typename T>
virtual T QwtSeriesData< T >::sample ( size_t  i) const
pure virtual
template<typename T >
void QwtSeriesData< T >::setRectOfInterest ( const QRectF &  rect)

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.

rectRectangle of interest

Reimplemented in QwtSyntheticPointData.