diff --git a/modules/newhorizons/newhorizonsmodule.cpp b/modules/newhorizons/newhorizonsmodule.cpp index 720472deac..4ec0ff04d6 100644 --- a/modules/newhorizons/newhorizonsmodule.cpp +++ b/modules/newhorizons/newhorizonsmodule.cpp @@ -40,6 +40,8 @@ #include #include +#include + namespace openspace { @@ -52,6 +54,9 @@ bool NewHorizonsModule::initialize() { if (!success) return false; + ImageSequencer2::initialize(); + + FactoryManager::ref().addFactory(new ghoul::TemplateFactory); FactoryManager::ref().addFactory(new ghoul::TemplateFactory); diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index da48d4b12c..2534fe497c 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -47,7 +47,6 @@ #include #include #include -#include // testing #include @@ -232,8 +231,6 @@ bool OpenSpaceEngine::create( FileSys.createCacheManager(absPath("${" + ConfigurationManager::KeyCache + "}"), CacheVersion); _engine->_console->initialize(); - ImageSequencer2::initialize(); - // Register the provided shader directories ghoul::opengl::ShaderObject::addIncludePath("${SHADERS}"); diff --git a/src/rendering/renderengine.cpp b/src/rendering/renderengine.cpp index 2125dd150f..650cc92d4b 100644 --- a/src/rendering/renderengine.cpp +++ b/src/rendering/renderengine.cpp @@ -24,8 +24,9 @@ #include +#ifdef OPENSPACE_MODULE_NEWHORIZONS_ENABLED #include - +#endif #include #include @@ -440,6 +441,7 @@ void RenderEngine::render(const glm::mat4 &projectionMatrix, const glm::mat4 &vi //PrintText(i++, "Cam->origin: (% .15f, % .4f)", pssl[0], pssl[1]); //PrintText(i++, "Scaling: (% .5f, % .5f)", scaling[0], scaling[1]); +#ifdef OPENSPACE_MODULE_NEWHORIZONS_ENABLED if (openspace::ImageSequencer2::ref().isReady()) { double remaining = openspace::ImageSequencer2::ref().getNextCaptureTime() - currentTime; double t = 1.0 - remaining / openspace::ImageSequencer2::ref().getIntervalLength(); @@ -523,7 +525,8 @@ void RenderEngine::render(const glm::mat4 &projectionMatrix, const glm::mat4 &vi } } } - +#endif + #undef PrintText } diff --git a/src/scene/scene.cpp b/src/scene/scene.cpp index 1a07cd914f..9ac182c09c 100644 --- a/src/scene/scene.cpp +++ b/src/scene/scene.cpp @@ -56,7 +56,7 @@ #include "scene_lua.inl" namespace { - const std::string _loggerCat = "SceneGraph"; + const std::string _loggerCat = "Scene"; const std::string _moduleExtension = ".mod"; const std::string _defaultCommonDirectory = "common"; const std::string _commonModuleToken = "${COMMON_MODULE}"; @@ -281,8 +281,10 @@ bool Scene::loadSceneInternal(const std::string& sceneDescriptionFilePath) { _focus = focus; LDEBUG("Setting camera focus to '" << _focus << "'"); } - else + else { LERROR("Could not find focus object '" << focus << "'"); + _focus = "Root"; + } } } diff --git a/src/scene/scenegraph.cpp b/src/scene/scenegraph.cpp index 1e19bb0534..09f932aa37 100644 --- a/src/scene/scenegraph.cpp +++ b/src/scene/scenegraph.cpp @@ -195,8 +195,9 @@ bool SceneGraph::loadFromFile(const std::string& sceneDescription) { SceneGraphNode* node = SceneGraphNode::createFromDictionary(element); if (node == nullptr) { LERROR("Error loading SceneGraphNode '" << nodeName << "' in module '" << moduleName << "'"); - clear(); - return false; + continue; + //clear(); + //return false; } dependencies[nodeName].push_back(parentName); @@ -254,14 +255,19 @@ bool SceneGraph::loadFromFile(const std::string& sceneDescription) { } } + std::vector nodesToDelete; for (SceneGraphNodeInternal* node : _nodes) { if (!nodeIsDependentOnRoot(node)) { LERROR("Node '" << node->node->name() << "' has no direct connection to Root."); - //clear(); - return false; + nodesToDelete.push_back(node); } } + for (SceneGraphNodeInternal* node : nodesToDelete) { + _nodes.erase(std::find(_nodes.begin(), _nodes.end(), node)); + delete node; + } + bool s = sortTopologically(); if (!s) { LERROR("Topological sort failed");