#include "converttoseries.h"
using namespace QtCharts;

ConvertToSeries::ConvertToSeries(QObject *parent) : QObject(parent)
{

}

void ConvertToSeries::run() {
    mutex.lock();
    double min = data.ydata[0];
    double max = data.ydata[0];
    if (dataPresent) {
        for (size_t i = 0; i < data.xdata.size(); ++i) {
            this->series->append(data.xdata[i], data.ydata[i]);
            if (data.ydata[i] < min)
                min = data.ydata[i];
            if (data.ydata[i] > max)
                max = data.ydata[i];
        }
        emit dataConverted(series, QString::fromStdString(data.entityId), min, max);
    }
    mutex.unlock();
}

void ConvertToSeries::setData(QLineSeries *series, const DataResult1D &data) {
    mutex.lock();
    this->series = series;
    this->data = data;
    this->dataPresent = true;
    mutex.unlock();
}