Implement Operator base class and fix circ. dependencies

This commit is contained in:
Jonathan Grangien
2018-06-08 14:57:18 -04:00
committed by Matthias Berg
parent dea5b58c79
commit a40cd79252
13 changed files with 193 additions and 41 deletions

View File

@@ -23,27 +23,59 @@
****************************************************************************************/
#include <modules/dataloader/dataloadermodule.h>
#include <modules/dataloader/reader.h>
#include <modules/dataloader/loader.h>
#include <openspace/util/factorymanager.h>
#include <modules/dataloader/operators/reader.h>
#include <modules/dataloader/operators/loader.h>
#include <openspace/engine/moduleengine.h>
#include <openspace/engine/openspaceengine.h>
#include <ghoul/logging/logmanager.h>
#include <ghoul/misc/assert.h>
namespace {
constexpr const char* _loggerCat = "DataLoaderModule";
}
namespace openspace {
using namespace dataloader;
DataLoaderModule::DataLoaderModule() : OpenSpaceModule(Name) {}
void DataLoaderModule::internalInitialize(const ghoul::Dictionary&) {
// auto rFactory = FactoryManager::ref().factory<Renderable>();
// ghoul_assert(rFactory, "No renderable factory existed");
// rFactory->registerClass<RenderableTimeVaryingVolume>("RenderableTimeVaryingVolume");
DataLoaderModule::~DataLoaderModule() {}
_reader = std::make_unique<openspace::dataloader::Reader>();
_loader = std::make_unique<openspace::dataloader::Loader>();
addPropertySubOwner(*_reader);
addPropertySubOwner(*_loader);
void DataLoaderModule::internalInitialize(const ghoul::Dictionary&) {
OsEng.registerModuleCallback(OpenSpaceEngine::CallbackOption::Initialize, [&] {
_reader = std::make_unique<openspace::dataloader::Reader>();
_loader = std::make_unique<openspace::dataloader::Loader>();
addPropertySubOwner(*_reader);
addPropertySubOwner(*_loader);
});
}
void DataLoaderModule::setDataDirectoryRead(bool isRead) {
LDEBUG("Called a module function");
_dataDirectoryIsRead = isRead;
}
void DataLoaderModule::validateDataDirectory() {
if(!_dataDirectoryIsRead) {
_reader->readVolumeDataItems();
}
}
std::vector<std::string> DataLoaderModule::volumeDataItems() {
validateDataDirectory();
return _volumeDataItems;
}
void DataLoaderModule::setVolumeDataItems(std::vector<std::string> items) {
_volumeDataItems = items;
}
openspace::dataloader::Reader* DataLoaderModule::reader() {
return _reader.get();
}
openspace::dataloader::Loader* DataLoaderModule::loader() {
return _loader.get();
}
} // namespace openspace