#ifndef FREQ_H #define FREQ_H #include #include "gtl_math_analog_value.h" #include "math_global.h" #include 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 _fronts; qreal _dc; private: virtual void before_copying_data(std::vector::iterator begin, std::vector::iterator end) override; virtual void after_copying_data(std::vector::iterator begin, std::vector::iterator end) override; void log_fronts(QString msg, std::set::iterator begin, std::set::iterator end); protected slots: virtual void data_changed() override; signals: void dc_changed(); }; } } #endif // FREQ_H