##// END OF EJS Templates
Replaces QString unit by a new struct...
Replaces QString unit by a new struct The Unit struct contains a flag that indicates if it's a time unit or not. It will be used to set the correct ticker for axes on a graph (default ticker or datetime ticker)

File last commit:

r177:4c64b786fec1
r177:4c64b786fec1
Show More
CosinusProvider.cpp
30 lines | 835 B | text/x-c | CppLexer
#include "CosinusProvider.h"
#include <Data/DataProviderParameters.h>
#include <Data/ScalarSeries.h>
#include <cmath>
std::unique_ptr<IDataSeries>
CosinusProvider::retrieveData(const DataProviderParameters &parameters) const
{
// Gets the timerange from the parameters
auto start = parameters.m_TStart;
auto end = parameters.m_TEnd;
// We assure that timerange is valid
if (end < start) {
std::swap(start, end);
}
// Generates scalar series containing cosinus values (one value per second)
auto scalarSeries
= std::make_unique<ScalarSeries>(end - start, Unit{QStringLiteral("t"), true}, Unit{});
auto dataIndex = 0;
for (auto time = start; time < end; ++time, ++dataIndex) {
scalarSeries->setData(dataIndex, time, std::cos(time));
}
return scalarSeries;
}