10 #ifndef QWT_SERIES_DATA_H
11 #define QWT_SERIES_DATA_H 1
13 #include "qwt_global.h"
14 #include "qwt_samples.h"
15 #include "qwt_point_3d.h"
16 #include "qwt_point_polar.h"
56 #ifndef QWT_PYTHON_WRAPPER
59 virtual size_t size()
const = 0;
66 virtual T
sample(
size_t i )
const = 0;
84 virtual size_t size()
const {
return 0; }
85 virtual T
sample(
size_t i )
const {
return T(); }
110 template <
typename T>
112 d_boundingRect( 0.0, 0.0, -1.0, -1.0 )
116 template <
typename T>
121 template <
typename T>
132 template <
typename T>
170 template <
typename T>
175 template <
typename T>
181 template <
typename T>
188 template <
typename T>
194 template <
typename T>
197 return d_samples.size();
200 template <
typename T>
203 return d_samples[
static_cast<int>( i ) ];
211 const QVector<QPointF> & = QVector<QPointF>() );
221 const QVector<QwtPoint3D> & = QVector<QwtPoint3D>() );
230 const QVector<QwtIntervalSample> & = QVector<QwtIntervalSample>() );
240 const QVector<QwtSetSample> & = QVector<QwtSetSample>() );
252 const QVector<QwtOHLCSample> & = QVector<QwtOHLCSample>() );
257 QWT_EXPORT QRectF qwtBoundingRect(
260 QWT_EXPORT QRectF qwtBoundingRect(
263 QWT_EXPORT QRectF qwtBoundingRect(
266 QWT_EXPORT QRectF qwtBoundingRect(
269 QWT_EXPORT QRectF qwtBoundingRect(
272 QWT_EXPORT QRectF qwtBoundingRect(
330 template <
typename T,
typename LessThan>
332 double value, LessThan lessThan )
334 const int indexMax = series.
size() - 1;
336 if ( indexMax < 0 || !lessThan( value, series.
sample( indexMax ) ) )
344 const int half = n >> 1;
345 const int indexMid = indexMin + half;
347 if ( lessThan( value, series.
sample( indexMid ) ) )
353 indexMin = indexMid + 1;
virtual T sample(size_t index) const
Definition: qwt_series_data.h:201
virtual size_t size() const
Definition: qwt_series_data.h:195
const QVector< T > samples() const
Definition: qwt_series_data.h:189
virtual T sample(size_t i) const =0
virtual size_t size() const =0
QRectF d_boundingRect
Can be used to cache a calculated bounding rectangle.
Definition: qwt_series_data.h:104
Abstract interface for iterating over samples.
Definition: qwt_series_data.h:48
Interface for iterating over an array of points.
Definition: qwt_series_data.h:208
virtual ~QwtSeriesData()
Destructor.
Definition: qwt_series_data.h:117
QwtArraySeriesData(const QVector< T > &samples)
Definition: qwt_series_data.h:176
Template class for data, that is organized as QVector.
Definition: qwt_series_data.h:134
QwtSeriesData()
Constructor.
Definition: qwt_series_data.h:111
Interface for iterating over an array of samples.
Definition: qwt_series_data.h:237
virtual QRectF boundingRect() const =0
void setSamples(const QVector< T > &samples)
Definition: qwt_series_data.h:182
QVector< T > d_samples
Vector of samples.
Definition: qwt_series_data.h:167
Interface for iterating over an array of intervals.
Definition: qwt_series_data.h:227
Definition: qwt_series_data.h:249
virtual void setRectOfInterest(const QRectF &rect)
Definition: qwt_series_data.h:122
Interface for iterating over an array of 3D points.
Definition: qwt_series_data.h:218
QwtArraySeriesData()
Constructor.
Definition: qwt_series_data.h:171