##// END OF EJS Templates
Modified scientific theme
Modified scientific theme

File last commit:

r486:7ab45bf9f776
r523:768ce5aee641
Show More
wavegenerator.h
60 lines | 1.3 KiB | text/x-c | CLexer
Michal Klocek
minor. minssing hile
r134 #include <QTimer>
#include <QTime>
#include <QObject>
#include <cmath>
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 #include <qlineseries.h>
Michal Klocek
minor. minssing hile
r134
QTCOMMERCIALCHART_USE_NAMESPACE
#define PI 3.14159265358979
static const int numPoints =100;
class WaveGenerator: public QObject
{
Q_OBJECT
public:
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 WaveGenerator(QLineSeries* series1, QLineSeries* series2) :
Michal Klocek
minor. minssing hile
r134 m_series1(series1),
m_series2(series2),
m_wave(0),
m_step(2*PI/numPoints)
{
QTime now = QTime::currentTime();
qsrand((uint)now.msec());
int fluctuate = 100;
for (qreal x = 0; x <= 2*PI; x+=m_step) {
series1->add(x, fabs(sin(x)*fluctuate));
series2->add(x, fabs(cos(x)*fluctuate));
}
QObject::connect(&m_timer,SIGNAL(timeout()),this,SLOT(update()));
m_timer.setInterval(5000);
m_timer.start();
};
public slots:
void update()
{
int fluctuate;
for (qreal i = 0, x = 0; x <= 2*PI; x+=m_step, i++) {
fluctuate = qrand() % 100;
Michal Klocek
Remove index from QLineChartSeries API
r348 m_series1->replace(x, fabs(sin(x)*fluctuate));
Michal Klocek
minor. minssing hile
r134 fluctuate = qrand() % 100;
Michal Klocek
Remove index from QLineChartSeries API
r348 m_series2->replace(x, fabs(cos(x)*fluctuate));
Michal Klocek
minor. minssing hile
r134 }
}
private:
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 QLineSeries* m_series1;
QLineSeries* m_series2;
Michal Klocek
minor. minssing hile
r134 int m_wave;
qreal m_step;
QTimer m_timer;
};