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"
57 virtual size_t size()
const = 0;
64 virtual T
sample(
size_t i )
const = 0;
101 template <
typename T>
103 d_boundingRect( 0.0, 0.0, -1.0, -1.0 )
107 template <
typename T>
112 template <
typename T>
123 template <
typename T>
143 const QVector<T>
samples()
const;
146 virtual size_t size()
const;
154 virtual T
sample(
size_t index )
const;
161 template <
typename T>
166 template <
typename T>
172 template <
typename T>
179 template <
typename T>
185 template <
typename T>
188 return d_samples.size();
191 template <
typename T>
194 return d_samples[
static_cast<int>( i ) ];
202 const QVector<QPointF> & = QVector<QPointF>() );
212 const QVector<QwtPoint3D> & = QVector<QwtPoint3D>() );
221 const QVector<QwtIntervalSample> & = QVector<QwtIntervalSample>() );
231 const QVector<QwtSetSample> & = QVector<QwtSetSample>() );
243 const QVector<QwtOHLCSample> & = QVector<QwtOHLCSample>() );
248 QWT_EXPORT QRectF qwtBoundingRect(
251 QWT_EXPORT QRectF qwtBoundingRect(
254 QWT_EXPORT QRectF qwtBoundingRect(
257 QWT_EXPORT QRectF qwtBoundingRect(
260 QWT_EXPORT QRectF qwtBoundingRect(
263 QWT_EXPORT QRectF qwtBoundingRect(
324 template <
typename T,
typename LessThan>
326 double value, LessThan lessThan )
328 const int indexMax = series.
size() - 1;
330 if ( indexMax < 0 || !lessThan( value, series.
sample( indexMax ) ) )
338 const int half = n >> 1;
339 const int indexMid = indexMin + half;
341 if ( lessThan( value, series.
sample( indexMid ) ) )
347 indexMin = indexMid + 1;
void setSamples(const QVector< T > &samples)
Definition: qwt_series_data.h:173
QwtSeriesData()
Constructor.
Definition: qwt_series_data.h:102
Interface for iterating over an array of points.
Definition: qwt_series_data.h:198
Definition: qwt_series_data.h:239
Interface for iterating over an array of samples.
Definition: qwt_series_data.h:227
virtual size_t size() const
Definition: qwt_series_data.h:186
virtual QRectF boundingRect() const =0
QVector< T > d_samples
Vector of samples.
Definition: qwt_series_data.h:158
Interface for iterating over an array of intervals.
Definition: qwt_series_data.h:217
QwtArraySeriesData()
Constructor.
Definition: qwt_series_data.h:162
virtual void setRectOfInterest(const QRectF &rect)
Definition: qwt_series_data.h:113
Abstract interface for iterating over samples.
Definition: qwt_series_data.h:47
const QVector< T > samples() const
Definition: qwt_series_data.h:180
virtual T sample(size_t index) const
Definition: qwt_series_data.h:192
virtual T sample(size_t i) const =0
Template class for data, that is organized as QVector.
Definition: qwt_series_data.h:124
QRectF d_boundingRect
Can be used to cache a calculated bounding rectangle.
Definition: qwt_series_data.h:95
virtual ~QwtSeriesData()
Destructor.
Definition: qwt_series_data.h:108
Interface for iterating over an array of 3D points.
Definition: qwt_series_data.h:208
virtual size_t size() const =0