##// END OF EJS Templates
Merge pull request 185 from SCIQLOP-Initialisation develop...
Merge pull request 185 from SCIQLOP-Initialisation develop Develop

File last commit:

r408:49f712bf7e59
r419:de9785136e02 merge
Show More
CosinusProvider.cpp
48 lines | 1.5 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
Updates IDataProvider::requestDataLoading() method's signature...
r408 std::shared_ptr<IDataSeries> CosinusProvider::retrieveData(const SqpDateTime &dateTime) const
Alexandre Leroux
Creates a default provider that will be returned by the mock plugin
r128 {
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
Updates IDataProvider::requestDataLoading() method's signature...
r408 void CosinusProvider::requestDataLoading(QUuid token, const DataProviderParameters &parameters)
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
Alexandre Leroux
Updates IDataProvider::requestDataLoading() method's signature...
r408 const auto times = parameters.m_Times;
for (const auto &dateTime : qAsConst(times)) {
auto scalarSeries = this->retrieveData(dateTime);
Alexandre Leroux
Transits tokens in provider requests
r376 emit dataProvided(token, scalarSeries, dateTime);
Alexandre Leroux
Use std::shared_ptr in CosinusProvider
r310 }
}