Go to the documentation of this file.00001 #ifndef UTILS_H
00002 #define UTILS_H
00003
00004 #include <QObject>
00005 #include "PlotJuggler/plotdata.h"
00006
00007
00008
00009 class MonitoredValue: public QObject{
00010 Q_OBJECT
00011 public:
00012 MonitoredValue(QObject* parent = nullptr): QObject(parent), _value(0) {}
00013
00014 void set(double newValue){
00015 double prev = _value;
00016 _value = newValue;
00017 if( fabs( newValue - prev ) > std::numeric_limits<double>::epsilon() )
00018 {
00019 emit valueChanged(_value);
00020 }
00021 }
00022
00023 double get() const { return _value; }
00024 signals:
00025 void valueChanged(double);
00026 private:
00027 double _value;
00028 };
00029
00030 #endif // UTILS_H