diff --git a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp index f7a90b7729..333a3ba748 100644 --- a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp +++ b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp @@ -420,11 +420,11 @@ bool RenderableFieldlinesSequence::extractMandatoryInfoFromDictionary( } std::string sourceFolderPath; - bool webFieldLines; + if (!_dictionary->getValue(KeySourceFolder, sourceFolderPath)) { // If this is a web-fieldline, we don't need no sourcefolder - if (!_dictionary->getValue(KeyWebFieldlines, webFieldLines)) { + if (!_dictionary->getValue(KeyWebFieldlines, _webFieldlines)) { LERROR(fmt::format("{}: The field {} is missing", _identifier, KeyWebFieldlines)); return false; } @@ -434,7 +434,7 @@ bool RenderableFieldlinesSequence::extractMandatoryInfoFromDictionary( } } - if (webFieldLines) { + if (_webFieldlines) { initializeWebManager(); sourceFolderPath = _webFieldlinesManager.getDirectory(); } @@ -1182,7 +1182,7 @@ void RenderableFieldlinesSequence::render(const RenderData& data, RendererTasks& } void RenderableFieldlinesSequence::initializeWebManager() { - _webFieldlinesManager(_identifier, "PfssIo", _activeTriggerTimeIndex, _nStates, _sourceFiles, _startTimes); + _webFieldlinesManager.initializeWebFieldlinesManager(_identifier, "PfssIo", _activeTriggerTimeIndex, _nStates, _sourceFiles, _startTimes); } void RenderableFieldlinesSequence::update(const UpdateData& data) { @@ -1192,12 +1192,8 @@ void RenderableFieldlinesSequence::update(const UpdateData& data) { const double currentTime = data.time.j2000Seconds(); - // en liten fuling för att testa att trigga nedladdning -// if(currentTime > 610056120.0 && currentTime < 610056120.2){ -// LERROR("downloading is starting"); -// _webFieldlinesManager.downloadFieldlines(); -// computeSequenceEndTime(); -// } + // Webfieldlines is activated + const bool isInInterval = (currentTime >= _startTimes[0]) && (currentTime < _sequenceEndTime); diff --git a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h index 640ffa9c21..09f6d26c58 100644 --- a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h +++ b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h @@ -87,6 +87,9 @@ private: // True when new state is loaded or user change which quantity used for masking out // line segments bool _shouldUpdateMaskingBuffer = false; + // Stated weather the field lines are fetched on demand from the web or not, default + // is false. + bool _webFieldlines = false; // --------------------------------- NUMERICALS ----------------------------------- // // Active index of _states. If(==-1)=>no state available for current time. Always the diff --git a/modules/fieldlinessequence/util/webfieldlinesmanager.cpp b/modules/fieldlinessequence/util/webfieldlinesmanager.cpp index 4498ec1c76..66a19fde47 100644 --- a/modules/fieldlinessequence/util/webfieldlinesmanager.cpp +++ b/modules/fieldlinessequence/util/webfieldlinesmanager.cpp @@ -69,10 +69,8 @@ namespace openspace{ } } - // ------------------------------- OPERATORS ------------------------------- // - // Operator () - void WebFieldlinesManager::operator()(std::string identifier, std::string fieldLineModelType, int& _activeTriggerTimeIndex, size_t& _nStates, std::vector& _sourceFiles, std::vector& _startTimes) + void WebFieldlinesManager::initializeWebFieldlinesManager(std::string identifier, std::string fieldLineModelType, int& _activeTriggerTimeIndex, size_t& _nStates, std::vector& _sourceFiles, std::vector& _startTimes) { _flsType = fieldLineModelType; _syncDir = initializeSyncDirectory(identifier); diff --git a/modules/fieldlinessequence/util/webfieldlinesmanager.h b/modules/fieldlinessequence/util/webfieldlinesmanager.h index ad4259fd61..4fe523cd41 100644 --- a/modules/fieldlinessequence/util/webfieldlinesmanager.h +++ b/modules/fieldlinessequence/util/webfieldlinesmanager.h @@ -43,7 +43,7 @@ public: // To replace the constructor, takes the identifier of the field line, is used for storing the field lines mainly // Also takes a second parameter containing the name of the field line model used. // These may in the future be the same. - void operator ()(std::string identifier, std::string fieldLineModelType, int& _activeTriggerTimeIndex, size_t& _nStates, std::vector& _sourceFiles, std::vector& _startTimes); + void initializeWebFieldlinesManager(std::string identifier, std::string fieldLineModelType, int& _activeTriggerTimeIndex, size_t& _nStates, std::vector& _sourceFiles, std::vector& _startTimes); // Returns the sync directory std::string getDirectory();