test_sdk/math/gtl_math_peak.cpp

45 lines
987 B
C++
Raw Permalink Normal View History

#include "gtl_math_peak.h"
namespace gtl
{
namespace math
{
peak::peak(gtl::analog_data *data)
: analog_value(data)
{
_name = "peak";
_max = new gtl::math::max(data);
_min = new gtl::math::min(data);
_offset = new gtl::math::offset(data);
}
peak::~peak()
{
delete _max;
delete _min;
delete _offset;
}
void peak::set_time(qreal value)
{
analog_value::set_time(value);
_max->set_time(value);
_min->set_time(value);
_offset->set_time(value);
}
void peak::data_changed()
{
analog_value::data_changed();
qreal amax = abs(_max->value() - _offset->value());
qreal amin = abs(_min->value() - _offset->value());
_value = amax > amin ? amax : amin;
emit value_changed();
}
}
}