Scroll to navigation

QwtSeriesData< T >(3) Qwt User's Guide QwtSeriesData< T >(3)

NAME

QwtSeriesData< T > - Abstract interface for iterating over samples.

SYNOPSIS

#include <qwt_series_data.h>

Inherited by QwtArraySeriesData< QwtIntervalSample >, QwtArraySeriesData< QwtVectorFieldSample >, QwtArraySeriesData< QwtOHLCSample >, QwtArraySeriesData< QwtSetSample >, QwtArraySeriesData< QwtPoint3D >, and QwtArraySeriesData< 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

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.

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

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.

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

Author

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

Sun Jul 18 2021 Version 6.2.0