##// END OF EJS Templates
Creates constructor for ScalarSeries that directly takes vectors...
Creates constructor for ScalarSeries that directly takes vectors It is used in Amda result parser to avoid an extra loop

File last commit:

r376:313aeb6a2933
r392:cae900f78dff
Show More
CosinusProvider.cpp
50 lines | 1.6 KiB | text/x-c | CppLexer
Alexandre Leroux
Creates a default provider that will be returned by the mock plugin
r128 #include "CosinusProvider.h"
#include <Data/DataProviderParameters.h>
#include <Data/ScalarSeries.h>
Add cmath header missing
r135 #include <cmath>
Fix the cosinus bug....
r298 #include <QDateTime>
Add current progression for thread fix
r364 #include <QThread>
Fix the cosinus bug....
r298
The cosinus provider can now handle data request
r231 Q_LOGGING_CATEGORY(LOG_CosinusProvider, "CosinusProvider")
Alexandre Leroux
Use std::shared_ptr in CosinusProvider
r310 std::shared_ptr<IDataSeries>
Alexandre Leroux
Creates a default provider that will be returned by the mock plugin
r128 CosinusProvider::retrieveData(const DataProviderParameters &parameters) const
{
Add SqpDateTime struct
r191 auto dateTime = parameters.m_Time;
Fix the cosinus bug....
r298 auto dataIndex = 0;
The cosinus provider can now handle data request
r231
// Gets the timerange from the parameters
Fix the cosinus bug....
r298 double freq = 100.0;
double start = dateTime.m_TStart * freq; // 100 htz
double end = dateTime.m_TEnd * freq; // 100 htz
The cosinus provider can now handle data request
r231
// 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_shared<ScalarSeries>(end - start, Unit{QStringLiteral("t"), true}, Unit{});
for (auto time = start; time < end; ++time, ++dataIndex) {
Fix the cosinus bug....
r298 const auto timeOnFreq = time / freq;
scalarSeries->setData(dataIndex, timeOnFreq, std::cos(timeOnFreq));
The cosinus provider can now handle data request
r231 }
Alexandre Leroux
Creates a default provider that will be returned by the mock plugin
r128 return scalarSeries;
}
Alexandre Leroux
Use std::shared_ptr in CosinusProvider
r310
Alexandre Leroux
Transits tokens in provider requests
r376 void CosinusProvider::requestDataLoading(QUuid token, const QVector<SqpDateTime> &dateTimeList)
Alexandre Leroux
Use std::shared_ptr in CosinusProvider
r310 {
Change info to debug on thread display log
r367 qCDebug(LOG_CosinusProvider()) << "CosinusProvider::requestDataLoading"
<< QThread::currentThread()->objectName();
Alexandre Leroux
Use std::shared_ptr in CosinusProvider
r310 // NOTE: Try to use multithread if possible
for (const auto &dateTime : dateTimeList) {
auto scalarSeries = this->retrieveData(DataProviderParameters{dateTime});
Alexandre Leroux
Transits tokens in provider requests
r376 emit dataProvided(token, scalarSeries, dateTime);
Alexandre Leroux
Use std::shared_ptr in CosinusProvider
r310 }
}