test_sdk/math/gtl_math_freq.h

48 lines
1.1 KiB
C
Raw Permalink Normal View History

#ifndef FREQ_H
#define FREQ_H
#include <QDebug>
#include "gtl_math_analog_value.h"
#include "math_global.h"
#include <set>
namespace gtl
{
namespace math
{
class MATH_EXPORT freq : public analog_value
{
Q_OBJECT
Q_PROPERTY(qreal dc READ dc WRITE set_dc NOTIFY dc_changed)
public:
freq(gtl::analog_data *data);
virtual void set_time(qreal value) override;
qreal dc() const;
void set_dc(qreal value);
private:
qreal _sum;
std::set<int> _fronts;
qreal _dc;
private:
virtual void before_copying_data(std::vector<qreal>::iterator begin, std::vector<qreal>::iterator end) override;
virtual void after_copying_data(std::vector<qreal>::iterator begin, std::vector<qreal>::iterator end) override;
void log_fronts(QString msg, std::set<int>::iterator begin, std::set<int>::iterator end);
protected slots:
virtual void data_changed() override;
signals:
void dc_changed();
};
}
}
#endif // FREQ_H