#include "raw_data.hpp" namespace hr::plugins { // Этот плагин ни чего не делает и предназначен при сохранении единственности интерфейса просто // передавать сырые необработанные данные. Например для отрисовки базового сигнала. // Он не работает в частотной области raw_data::raw_data(const setup& st) : plugin{ st } { if (st.m_domain != DOMAIN_PLUGIN::TIME) hack::error()("Этот плагин работает только во временной области!"); } void raw_data::process(fvec_t& base, real_time timestamp) { result::bit b; b.m_value = base; b.m_duration = timestamp; m_tmp.set_bit(b); m_size += base.size(); } void raw_data::process(cvec_t& fft, fvec_t& base, real_time timestamp) { } result raw_data::get_result() { if (m_tmp.m_data.empty()) return m_result; m_result.m_data.reserve(m_size); std::size_t index = 0; for (auto& t : m_tmp.m_data) { for (auto s : t.m_value) { result::bit b; b.m_value.push_back(s); b.m_duration = t.m_duration; m_result.set_bit(b); } } return m_result; } }