29 std::string CSVDataPath;
31 double TimeStretch{}, TimeOffset{}, ValueStretch{}, ValueOffset{};
34 auto ModuleParams = DynExp::dynamic_Params_cast<ArbitraryFunctionFromCSV>(Instance->
ParamsGetter());
39 CSVDataPath = ModuleParams->CSVDataPath.GetPath().string();
40 SkipLines = ModuleParams->SkipLines;
41 TimeStretch = ModuleParams->TimeStretch;
42 TimeOffset = ModuleParams->TimeOffset;
43 ValueStretch = ModuleParams->ValueStretch;
44 ValueOffset = ModuleParams->ValueOffset;
50 std::vector<DynExpInstr::BasicSample> BasicSamples;
56 auto ParsedCSV = Util::ParseCSV<double, double>(CSVData,
';', SkipLines);
58 for (
const auto& ParsedTuple : ParsedCSV)
59 BasicSamples.emplace_back(std::get<1>(ParsedTuple) * ValueStretch + ValueOffset, std::get<0>(ParsedTuple) * TimeStretch + TimeOffset);
61 catch ([[maybe_unused]] std::ios_base::failure& e)
64 auto ParsedCSV = Util::ParseCSV<double>(CSVData,
';', SkipLines);
66 for (
const auto& ParsedTuple : ParsedCSV)
67 BasicSamples.emplace_back(std::get<0>(ParsedTuple) * ValueStretch + ValueOffset);
70 catch ([[maybe_unused]] std::ios_base::failure& e)
77 ModuleData->FunctionGenerator->SetArbitraryFunction(std::move(BasicSamples),
true);
void LockObject(const ParamsBase::Param< ObjectLink< ObjectT > > &LinkParam, LinkedObjectWrapperContainer< ObjectT > &ObjectWrapperContainer, std::chrono::milliseconds Timeout=ObjectLinkBase::LockObjectTimeoutDefault)
Locks an Object instance referenced by a parameter LinkParam of type ParamsBase::Param< ObjectLink< O...