File: qwt_series_data.sip

package info (click to toggle)
pyqt-qwt 1.02.02-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 796 kB
  • sloc: python: 5,663; cpp: 273; makefile: 16; sh: 13
file content (155 lines) | stat: -rw-r--r-- 4,190 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/* 
 * python-qwt. Python wrapper for the Qwt Widget Library
 * Copyright (C) 1997   Josef Wilgen
 * Copyright (C) 2002   Uwe Rathmann
 * Copyright (C) 2015   Gudjon I. Gudjonsson
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the Qwt License, Version 1.0
 *****************************************************************************/

/*template <typename T>
class QwtSeriesData
{
public:
    QwtSeriesData();
    virtual ~QwtSeriesData();
    virtual size_t size() const;
    virtual T sample( size_t i ) const;
    virtual QRectF boundingRect() const;
    virtual void setRectOfInterest( const QRectF &rect );
protected:
    mutable QRectF d_boundingRect;
};*/

class QwtSeriesDataQPointF
{
%TypeHeaderCode
#include <qwt_series_data.h>
typedef QwtSeriesData<QPointF> QwtSeriesDataQPointF;
%End
public:
    QwtSeriesDataQPointF();
    virtual ~QwtSeriesDataQPointF();
    virtual size_t size() const;
    virtual QPointF sample( size_t i ) const;
    virtual QRectF boundingRect() const;
    virtual void setRectOfInterest( const QRectF &rect );
//protected:
//    mutable QRectF d_boundingRect;
private:
    QwtSeriesDataQPointF &operator=( const QwtSeriesDataQPointF& );
};

class QwtSeriesDataQwtSetSample
{
%TypeHeaderCode
#include <qwt_series_data.h>
typedef QwtSeriesData<QwtSetSample> QwtSeriesDataQwtSetSample;
%End
public:
    QwtSeriesDataQwtSetSample();
    virtual ~QwtSeriesDataQwtSetSample();
    virtual size_t size() const;
    virtual QwtSetSample sample( size_t i ) const;
    virtual QRectF boundingRect() const;
    virtual void setRectOfInterest( const QRectF &rect );
//protected:
//    mutable QRectF d_boundingRect;
private:
    QwtSeriesDataQPointF &operator=( const QwtSeriesDataQPointF& );
};

class QwtSeriesDataQwtIntervalSample
{
%TypeHeaderCode
#include <qwt_series_data.h>
typedef QwtSeriesData<QwtIntervalSample> QwtSeriesDataQwtIntervalSample;
%End
public:
    QwtSeriesDataQwtIntervalSample();
    virtual ~QwtSeriesDataQwtIntervalSample();
    virtual size_t size() const;
    virtual QwtIntervalSample sample( size_t i ) const;
    virtual QRectF boundingRect() const;
    virtual void setRectOfInterest( const QRectF &rect );
//protected:
//    mutable QRectF d_boundingRect;
private:
    QwtSeriesDataQwtIntervalSample &operator=( const QwtSeriesDataQwtIntervalSample& );
};

/*template <typename T>
class QwtArraySeriesData: public QwtSeriesData<T>
{
public:
    QwtArraySeriesData();
    QwtArraySeriesData( const QVector<T> &samples );
    void setSamples( const QVector<T> &samples );
    const QVector<T> samples() const;
    virtual size_t size() const;
    virtual T sample( size_t index ) const;
protected:
    QVector<T> d_samples;
};*/

class QwtArraySeriesDataQPointF: QwtSeriesDataQPointF
{
%TypeHeaderCode
#include <qwt_series_data.h>
typedef QwtArraySeriesData<QPointF> QwtArraySeriesDataQPointF;
typedef QwtSeriesData<QPointF> QwtSeriesDataQPointF;
%End
public:
    QwtArraySeriesDataQPointF();
    QwtArraySeriesDataQPointF( const QVector<QPointF> &samples );
    void setSamples( const QVector<QPointF> &samples );
    const QVector<QPointF> samples() const;
    virtual size_t size() const;
    virtual QPointF sample( size_t index ) const;
//protected:
//    QVector<T> d_samples;
};

/*
class QwtTradingChartData: public QwtArraySeriesData<QwtOHLCSample>
{
public:
    QwtTradingChartData(
        const QVector<QwtOHLCSample> & = QVector<QwtOHLCSample>() );

    virtual QRectF boundingRect() const;
};


template <typename T, typename LessThan>
inline int qwtUpperSampleIndex( const QwtSeriesData<T> &series,
    double value, LessThan lessThan  ) 
{
    const int indexMax = series.size() - 1;

    if ( indexMax < 0 || !lessThan( value, series.sample( indexMax ) )  )
        return -1;

    int indexMin = 0;
    int n = indexMax;

    while ( n > 0 )
    {
        const int half = n >> 1;
        const int indexMid = indexMin + half;

        if ( lessThan( value, series.sample( indexMid ) ) )
        {
            n = half;
        }
        else
        {
            indexMin = indexMid + 1;
            n -= half + 1;
        }
    }

    return indexMin;
}
*/