OpenSpace can now be powered by iSWA-servers, and is doing it asynchronously

This commit is contained in:
Kollberg
2019-08-28 14:44:39 -04:00
parent a4c940ca10
commit 26f860398c
21 changed files with 222 additions and 412 deletions

View File

@@ -433,15 +433,10 @@ namespace openspace {
}
}
else {
if (_webFieldlinesManager.checkConnectionToServer()) {
LERROR("initializing sync-dir and downloading startset webFLman");
sourceFolderPath = _webFieldlinesManager.initializeSyncDirectory(_identifier);
_webFieldlinesManager.preDownload();
}
else {
LERROR("Unable to establish connection with fieldline provider");
}
LERROR("initializing sync-dir and downloading startset webFLman");
sourceFolderPath = _webFieldlinesManager.initializeSyncDirectory(_identifier);
_webFieldlinesManager.preDownload();
}
// Ensure that the source folder exists and then extract
@@ -1187,7 +1182,7 @@ namespace openspace {
}
void RenderableFieldlinesSequence::initializeWebManager() {
_webFieldlinesManager.initializeWebFieldlinesManager(_identifier, "PfssIo", _nStates, _sourceFiles, _startTimes);
_webFieldlinesManager.initializeWebFieldlinesManager(_identifier, _nStates, _sourceFiles, _startTimes);
}
void RenderableFieldlinesSequence::update(const UpdateData& data) {
@@ -1198,7 +1193,7 @@ namespace openspace {
const double currentTime = data.time.j2000Seconds();
if (_webFieldlines && _webFieldlinesManager.isConnected()) {
if (_webFieldlines) {
if (!_webFieldlinesManager.hasUpdated && _webFieldlinesManager.checkIfWindowIsReadyToLoad()) {
_startTimes.clear();
@@ -1208,17 +1203,6 @@ namespace openspace {
std::sort(_startTimes.begin(), _startTimes.end());
_nStates = _startTimes.size();
/*for (int i = 0; i < _sourceFiles.size(); ++i) {
LERROR(_sourceFiles[i]);
}
for (int i = 0; i < _startTimes.size(); ++i) {
LERROR(std::to_string(_startTimes[i]));
} */
//updateActiveTriggerTimeIndex(currentTime);
_webFieldlinesManager.hasUpdated = true;
_webFieldlinesManager.notifyUpdate = true;
_webFieldlinesManager.resetWorker();
@@ -1263,7 +1247,7 @@ namespace openspace {
_needsUpdate = false;
}
if (_webFieldlines && _webFieldlinesManager.isConnected() && _webFieldlinesManager.notifyUpdate) {
if (_webFieldlines && _webFieldlinesManager.notifyUpdate) {
updateActiveTriggerTimeIndex(currentTime);
computeSequenceEndTime();
_webFieldlinesManager.notifyUpdate = false;