27#ifndef QWT_SERIES_DATA_H
28#define QWT_SERIES_DATA_H
30#include "qwt_global.h"
31#include "qwt_samples.h"
75#ifndef QWT_PYTHON_WRAPPER
78 virtual size_t size()
const = 0;
85 virtual T
sample(
size_t i)
const = 0;
103 virtual size_t size()
const
107 virtual T
sample(
size_t i)
const
138template<
typename T >
143template<
typename T >
148template<
typename T >
159template<
typename T >
183 virtual size_t size() const QWT_OVERRIDE;
191 virtual T
sample(
size_t index) const QWT_OVERRIDE;
198template< typename T >
203template<
typename T >
208template<
typename T >
211 m_samples = std::move(samples);
214template<
typename T >
221template<
typename T >
225 m_samples = std::move(samples);
228template<
typename T >
234template<
typename T >
237 return m_samples.size();
240template<
typename T >
243 return m_samples[
static_cast< int >(i) ];
400template<
typename T,
typename LessThan >
401inline size_t qwtUpperSampleIndex(
const QwtSeriesData< T >& series,
double value, LessThan lessThan)
403 const size_t count = series.
size();
408 const size_t indexMax = count - 1;
411 if (!lessThan(value, series.
sample(indexMax))) {
419 const size_t half = n >> 1;
420 const size_t indexMid = indexMin + half;
422 if (lessThan(value, series.
sample(indexMid))) {
427 indexMin = indexMid + 1;
Definition qwt_clipper.h:40
Template class for data, that is organized as QVector.
Definition qwt_series_data.h:161
QwtArraySeriesData()
Constructor.
Definition qwt_series_data.h:199
void setSamples(const QVector< T > &samples)
Assign an array of samples.
Definition qwt_series_data.h:215
QwtArraySeriesData(const QVector< T > &samples)
Constructor.
Definition qwt_series_data.h:204
virtual T sample(size_t index) const QWT_OVERRIDE
Definition qwt_series_data.h:241
virtual size_t size() const QWT_OVERRIDE
Definition qwt_series_data.h:235
QVector< T > m_samples
Vector of samples.
Definition qwt_series_data.h:195
const QVector< T > samples() const
Definition qwt_series_data.h:229
Interface for iterating over an array of intervals.
Definition qwt_series_data.h:266
Interface for iterating over an array of 3D points.
Definition qwt_series_data.h:257
A point in polar coordinates.
Definition qwt_point_polar.h:46
Interface for iterating over an array of points.
Definition qwt_series_data.h:248
Abstract interface for iterating over samples.
Definition qwt_series_data.h:67
virtual void setRectOfInterest(const QRectF &rect)
Set a the "rect of interest".
Definition qwt_series_data.h:149
virtual size_t size() const =0
QwtSeriesData()
Constructor.
Definition qwt_series_data.h:139
virtual ~QwtSeriesData()
Destructor.
Definition qwt_series_data.h:144
QRectF cachedBoundingRect
Can be used to cache a calculated bounding rectangle.
Definition qwt_series_data.h:132
virtual T sample(size_t i) const =0
Return a sample.
virtual QRectF boundingRect() const =0
Calculate the bounding rect of all samples.
Interface for iterating over an array of samples.
Definition qwt_series_data.h:275
Interface for iterating over an array of OHLC samples.
Definition qwt_series_data.h:295
Interface for iterating over an array of vector field samples.
Definition qwt_series_data.h:284