#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(); } } }