From cac2f24b4096161e4471bb6f4fe6cbc7fbe44684 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Sun, 31 Dec 2017 17:32:40 -0500 Subject: [PATCH] Only make an internalInitialize in OpenSpaceModule that accepts a ghoul::Dictionary --- include/openspace/util/openspacemodule.h | 10 +++------- modules/atmosphere/atmospheremodule.cpp | 6 ++---- modules/atmosphere/atmospheremodule.h | 4 +++- modules/base/basemodule.cpp | 2 +- modules/base/basemodule.h | 2 +- modules/debugging/debuggingmodule.cpp | 2 +- modules/debugging/debuggingmodule.h | 2 +- modules/digitaluniverse/digitaluniversemodule.cpp | 2 +- modules/digitaluniverse/digitaluniversemodule.h | 2 +- modules/fieldlines/fieldlinesmodule.cpp | 2 +- modules/fieldlines/fieldlinesmodule.h | 2 +- .../fieldlinessequencemodule.cpp | 5 +++-- .../fieldlinessequence/fieldlinessequencemodule.h | 4 ++-- modules/galaxy/galaxymodule.cpp | 2 +- modules/galaxy/galaxymodule.h | 4 +++- modules/globebrowsing/globebrowsingmodule.cpp | 2 +- modules/globebrowsing/globebrowsingmodule.h | 2 +- modules/iswa/iswamodule.cpp | 14 ++++++-------- modules/iswa/iswamodule.h | 2 +- modules/kameleonvolume/kameleonvolumemodule.cpp | 2 +- modules/kameleonvolume/kameleonvolumemodule.h | 5 ++++- modules/multiresvolume/multiresvolumemodule.cpp | 2 +- modules/multiresvolume/multiresvolumemodule.h | 4 +++- modules/space/spacemodule.cpp | 2 +- modules/space/spacemodule.h | 4 ++-- .../dashboard/dashboarditeminstruments.cpp | 13 +++++++++++-- .../spacecraftinstrumentsmodule.cpp | 2 +- .../spacecraftinstrumentsmodule.h | 2 +- modules/toyvolume/toyvolumemodule.cpp | 2 +- modules/toyvolume/toyvolumemodule.h | 3 ++- modules/volume/volumemodule.cpp | 2 +- modules/volume/volumemodule.h | 3 ++- openspace.cfg | 3 +++ src/util/openspacemodule.cpp | 9 ++------- 34 files changed, 70 insertions(+), 59 deletions(-) diff --git a/include/openspace/util/openspacemodule.h b/include/openspace/util/openspacemodule.h index f60f9219ed..23ea912f7a 100644 --- a/include/openspace/util/openspacemodule.h +++ b/include/openspace/util/openspacemodule.h @@ -106,14 +106,10 @@ public: protected: /** * Customization point for each derived class. The internalInitialize method is called - * by the initiailze method. + * by the initialize method. + * \param configuration The configuration options that were read from the + * configuration file */ - virtual void internalInitialize(); - - /** - * Customization point for each derived class. The internalInitialize method is called - * by the initiailze method. - */ virtual void internalInitialize(const ghoul::Dictionary& configuration); /** diff --git a/modules/atmosphere/atmospheremodule.cpp b/modules/atmosphere/atmospheremodule.cpp index ca1cf0302a..226c36ffab 100644 --- a/modules/atmosphere/atmospheremodule.cpp +++ b/modules/atmosphere/atmospheremodule.cpp @@ -32,11 +32,9 @@ namespace openspace { -AtmosphereModule::AtmosphereModule() : - OpenSpaceModule("Atmosphere") -{} +AtmosphereModule::AtmosphereModule() : OpenSpaceModule("Atmosphere") {} -void AtmosphereModule::internalInitialize() { +void AtmosphereModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); fRenderable->registerClass("RenderableAtmosphere"); diff --git a/modules/atmosphere/atmospheremodule.h b/modules/atmosphere/atmospheremodule.h index bb6a4d1eac..3553d9f3e6 100644 --- a/modules/atmosphere/atmospheremodule.h +++ b/modules/atmosphere/atmospheremodule.h @@ -33,7 +33,9 @@ namespace openspace { class AtmosphereModule : public OpenSpaceModule { public: AtmosphereModule(); - void internalInitialize() override; + +private: + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/base/basemodule.cpp b/modules/base/basemodule.cpp index 1f5902d918..8a97a82780 100644 --- a/modules/base/basemodule.cpp +++ b/modules/base/basemodule.cpp @@ -69,7 +69,7 @@ namespace openspace { BaseModule::BaseModule() : OpenSpaceModule(BaseModule::Name) {} -void BaseModule::internalInitialize() { +void BaseModule::internalInitialize(const ghoul::Dictionary&) { FactoryManager::ref().addFactory( std::make_unique>(), "ModelGeometry" diff --git a/modules/base/basemodule.h b/modules/base/basemodule.h index 485e188434..28675841a0 100644 --- a/modules/base/basemodule.h +++ b/modules/base/basemodule.h @@ -40,7 +40,7 @@ public: std::vector luaLibraries() const override; protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/debugging/debuggingmodule.cpp b/modules/debugging/debuggingmodule.cpp index b2bf8fa14e..7dac1b3eb9 100644 --- a/modules/debugging/debuggingmodule.cpp +++ b/modules/debugging/debuggingmodule.cpp @@ -36,7 +36,7 @@ namespace openspace { DebuggingModule::DebuggingModule() : OpenSpaceModule(Name) {} -void DebuggingModule::internalInitialize() { +void DebuggingModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); diff --git a/modules/debugging/debuggingmodule.h b/modules/debugging/debuggingmodule.h index 939946f93a..a74534a60e 100644 --- a/modules/debugging/debuggingmodule.h +++ b/modules/debugging/debuggingmodule.h @@ -38,7 +38,7 @@ public: std::vector documentations() const override; protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/digitaluniverse/digitaluniversemodule.cpp b/modules/digitaluniverse/digitaluniversemodule.cpp index f19225ed17..472905b0a3 100644 --- a/modules/digitaluniverse/digitaluniversemodule.cpp +++ b/modules/digitaluniverse/digitaluniversemodule.cpp @@ -44,7 +44,7 @@ DigitalUniverseModule::DigitalUniverseModule() : OpenSpaceModule(DigitalUniverseModule::Name) {} -void DigitalUniverseModule::internalInitialize() { +void DigitalUniverseModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "Renderable factory was not created"); diff --git a/modules/digitaluniverse/digitaluniversemodule.h b/modules/digitaluniverse/digitaluniversemodule.h index b977fa287e..a4a15fe557 100644 --- a/modules/digitaluniverse/digitaluniversemodule.h +++ b/modules/digitaluniverse/digitaluniversemodule.h @@ -38,7 +38,7 @@ public: std::vector documentations() const override; protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/fieldlines/fieldlinesmodule.cpp b/modules/fieldlines/fieldlinesmodule.cpp index 2214e68478..e0e579c98a 100644 --- a/modules/fieldlines/fieldlinesmodule.cpp +++ b/modules/fieldlines/fieldlinesmodule.cpp @@ -35,7 +35,7 @@ namespace openspace { FieldlinesModule::FieldlinesModule() : OpenSpaceModule(Name) {} -void FieldlinesModule::internalInitialize() { +void FieldlinesModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); diff --git a/modules/fieldlines/fieldlinesmodule.h b/modules/fieldlines/fieldlinesmodule.h index 012852d759..3f9f7be460 100644 --- a/modules/fieldlines/fieldlinesmodule.h +++ b/modules/fieldlines/fieldlinesmodule.h @@ -36,7 +36,7 @@ public: FieldlinesModule(); protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/fieldlinessequence/fieldlinessequencemodule.cpp b/modules/fieldlinessequence/fieldlinessequencemodule.cpp index cd0d08e979..f1094fd14d 100644 --- a/modules/fieldlinessequence/fieldlinessequencemodule.cpp +++ b/modules/fieldlinessequence/fieldlinessequencemodule.cpp @@ -35,9 +35,10 @@ namespace openspace { FieldlinesSequenceModule::FieldlinesSequenceModule() - : OpenSpaceModule("FieldlinesSequence") {} + : OpenSpaceModule("FieldlinesSequence") +{} -void FieldlinesSequenceModule::internalInitialize() { +void FieldlinesSequenceModule::internalInitialize(const ghoul::Dictionary&) { auto factory = FactoryManager::ref().factory(); ghoul_assert(factory, "No renderable factory existed"); diff --git a/modules/fieldlinessequence/fieldlinessequencemodule.h b/modules/fieldlinessequence/fieldlinessequencemodule.h index a8d64deb22..f967b5d2a3 100644 --- a/modules/fieldlinessequence/fieldlinessequencemodule.h +++ b/modules/fieldlinessequence/fieldlinessequencemodule.h @@ -33,8 +33,8 @@ class FieldlinesSequenceModule : public OpenSpaceModule { public: FieldlinesSequenceModule(); -protected: - void internalInitialize() override; +private: + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/galaxy/galaxymodule.cpp b/modules/galaxy/galaxymodule.cpp index c36e15692c..e26b013969 100644 --- a/modules/galaxy/galaxymodule.cpp +++ b/modules/galaxy/galaxymodule.cpp @@ -34,7 +34,7 @@ namespace openspace { GalaxyModule::GalaxyModule() : OpenSpaceModule(Name) {} -void GalaxyModule::internalInitialize() { +void GalaxyModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); fRenderable->registerClass("RenderableGalaxy"); diff --git a/modules/galaxy/galaxymodule.h b/modules/galaxy/galaxymodule.h index afb31d5dc8..1a24ed420f 100644 --- a/modules/galaxy/galaxymodule.h +++ b/modules/galaxy/galaxymodule.h @@ -34,7 +34,9 @@ public: constexpr static const char* Name = "Galaxy"; GalaxyModule(); - void internalInitialize() override; + +private: + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/globebrowsing/globebrowsingmodule.cpp b/modules/globebrowsing/globebrowsingmodule.cpp index ef0547fb1b..5608b2dafe 100644 --- a/modules/globebrowsing/globebrowsingmodule.cpp +++ b/modules/globebrowsing/globebrowsingmodule.cpp @@ -137,7 +137,7 @@ namespace openspace { GlobeBrowsingModule::GlobeBrowsingModule() : OpenSpaceModule(Name) {} -void GlobeBrowsingModule::internalInitialize() { +void GlobeBrowsingModule::internalInitialize(const ghoul::Dictionary&) { // TODO: Remove dependency on OsEng. // Instead, make this class implement an interface that OsEng depends on. // Do not try to register module callbacks if OsEng does not exist, diff --git a/modules/globebrowsing/globebrowsingmodule.h b/modules/globebrowsing/globebrowsingmodule.h index 4da03126c6..aaf588032e 100644 --- a/modules/globebrowsing/globebrowsingmodule.h +++ b/modules/globebrowsing/globebrowsingmodule.h @@ -82,7 +82,7 @@ public: #endif // GLOBEBROWSING_USE_GDAL protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; private: void goToChunk(Camera& camera, globebrowsing::TileIndex ti, glm::vec2 uv, diff --git a/modules/iswa/iswamodule.cpp b/modules/iswa/iswamodule.cpp index 709fb622d1..12d1364283 100644 --- a/modules/iswa/iswamodule.cpp +++ b/modules/iswa/iswamodule.cpp @@ -38,9 +38,7 @@ namespace openspace { -IswaModule::IswaModule() - : OpenSpaceModule(Name) -{ +IswaModule::IswaModule() : OpenSpaceModule(Name) { OsEng.registerModuleCallback( OpenSpaceEngine::CallbackOption::Initialize, [](){ @@ -49,11 +47,7 @@ IswaModule::IswaModule() ); } -scripting::LuaLibrary IswaModule::luaLibrary() const { - return IswaManager::luaLibrary(); -} - -void IswaModule::internalInitialize(){ +void IswaModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); @@ -68,4 +62,8 @@ void IswaModule::internalInitialize(){ fScreenSpaceRenderable->registerClass("ScreenSpaceCygnet"); } +scripting::LuaLibrary IswaModule::luaLibrary() const { + return IswaManager::luaLibrary(); +} + } // namespace openspace diff --git a/modules/iswa/iswamodule.h b/modules/iswa/iswamodule.h index f6fc8d3572..e8f1d1a038 100644 --- a/modules/iswa/iswamodule.h +++ b/modules/iswa/iswamodule.h @@ -38,7 +38,7 @@ public: scripting::LuaLibrary luaLibrary() const override; protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/kameleonvolume/kameleonvolumemodule.cpp b/modules/kameleonvolume/kameleonvolumemodule.cpp index 3edd529001..f119fffc60 100644 --- a/modules/kameleonvolume/kameleonvolumemodule.cpp +++ b/modules/kameleonvolume/kameleonvolumemodule.cpp @@ -41,7 +41,7 @@ using namespace kameleonvolume; KameleonVolumeModule::KameleonVolumeModule() : OpenSpaceModule(Name) {} -void KameleonVolumeModule::internalInitialize() { +void KameleonVolumeModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); fRenderable->registerClass("RenderableKameleonVolume"); diff --git a/modules/kameleonvolume/kameleonvolumemodule.h b/modules/kameleonvolume/kameleonvolumemodule.h index 17272c432d..e3862f05ca 100644 --- a/modules/kameleonvolume/kameleonvolumemodule.h +++ b/modules/kameleonvolume/kameleonvolumemodule.h @@ -36,8 +36,11 @@ public: KameleonVolumeModule(); virtual ~KameleonVolumeModule() = default; - void internalInitialize() override; + std::vector documentations() const override; + +private: + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/multiresvolume/multiresvolumemodule.cpp b/modules/multiresvolume/multiresvolumemodule.cpp index bdfa6b1ecb..5525a825a7 100644 --- a/modules/multiresvolume/multiresvolumemodule.cpp +++ b/modules/multiresvolume/multiresvolumemodule.cpp @@ -35,7 +35,7 @@ namespace openspace { MultiresVolumeModule::MultiresVolumeModule() : OpenSpaceModule(Name) {} -void MultiresVolumeModule::internalInitialize() { +void MultiresVolumeModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); diff --git a/modules/multiresvolume/multiresvolumemodule.h b/modules/multiresvolume/multiresvolumemodule.h index 0ee5c1942b..ed5d93bc0e 100644 --- a/modules/multiresvolume/multiresvolumemodule.h +++ b/modules/multiresvolume/multiresvolumemodule.h @@ -34,7 +34,9 @@ public: constexpr static const char* Name = "MultiresVolume"; MultiresVolumeModule(); - void internalInitialize() override; + +private: + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/space/spacemodule.cpp b/modules/space/spacemodule.cpp index a147ed8889..c1d525bfa4 100644 --- a/modules/space/spacemodule.cpp +++ b/modules/space/spacemodule.cpp @@ -47,7 +47,7 @@ namespace openspace { SpaceModule::SpaceModule() : OpenSpaceModule(Name) {} -void SpaceModule::internalInitialize() { +void SpaceModule::internalInitialize(const ghoul::Dictionary&) { FactoryManager::ref().addFactory( std::make_unique>(), "PlanetGeometry" diff --git a/modules/space/spacemodule.h b/modules/space/spacemodule.h index ea3cec1608..8f67d2a405 100644 --- a/modules/space/spacemodule.h +++ b/modules/space/spacemodule.h @@ -37,8 +37,8 @@ public: virtual ~SpaceModule() = default; std::vector documentations() const override; -protected: - void internalInitialize() override; +private: + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/spacecraftinstruments/dashboard/dashboarditeminstruments.cpp b/modules/spacecraftinstruments/dashboard/dashboarditeminstruments.cpp index cb46e1dcf3..69ca566143 100644 --- a/modules/spacecraftinstruments/dashboard/dashboarditeminstruments.cpp +++ b/modules/spacecraftinstruments/dashboard/dashboarditeminstruments.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -206,13 +207,21 @@ void DashboardItemInstruments::render(glm::vec2& penPosition) { "Next instrument activity:" ); + std::pair remainingConv = simplifyTime(remaining); + + // If the remaining time is below 5 minutes, we switch over to seconds display + if (remaining < 5 * 60) { + remainingConv = { remaining, "seconds" }; + } + const int Size = 25; int p = std::max(static_cast((t * (Size - 1)) + 1), 0); RenderFontCr(*_font, penPosition, glm::vec4(glm::mix(_activeColor.value(), _activeFlash.value(), t), 1.f), - "%4.0f s |%s>%s| %.1f %%", - remaining, + "%4.0f %s |%s>%s| %.1f %%", + remainingConv.first, + remainingConv.second.c_str(), std::string(p, '-').c_str(), std::string(Size - p, ' ').c_str(), t * 100 diff --git a/modules/spacecraftinstruments/spacecraftinstrumentsmodule.cpp b/modules/spacecraftinstruments/spacecraftinstrumentsmodule.cpp index ef537720f3..17de1481b8 100644 --- a/modules/spacecraftinstruments/spacecraftinstrumentsmodule.cpp +++ b/modules/spacecraftinstruments/spacecraftinstrumentsmodule.cpp @@ -47,7 +47,7 @@ namespace openspace { SpacecraftInstrumentsModule::SpacecraftInstrumentsModule() : OpenSpaceModule(Name) {} -void SpacecraftInstrumentsModule::internalInitialize() { +void SpacecraftInstrumentsModule::internalInitialize(const ghoul::Dictionary&) { ImageSequencer::initialize(); FactoryManager::ref().addFactory( diff --git a/modules/spacecraftinstruments/spacecraftinstrumentsmodule.h b/modules/spacecraftinstruments/spacecraftinstrumentsmodule.h index 4fa055322f..71c593da31 100644 --- a/modules/spacecraftinstruments/spacecraftinstrumentsmodule.h +++ b/modules/spacecraftinstruments/spacecraftinstrumentsmodule.h @@ -38,7 +38,7 @@ public: std::vector documentations() const override; protected: - void internalInitialize() override; + void internalInitialize(const ghoul::Dictionary&) override; void internalDeinitialize() override; }; diff --git a/modules/toyvolume/toyvolumemodule.cpp b/modules/toyvolume/toyvolumemodule.cpp index 486bcc7749..976485f239 100644 --- a/modules/toyvolume/toyvolumemodule.cpp +++ b/modules/toyvolume/toyvolumemodule.cpp @@ -34,7 +34,7 @@ namespace openspace { ToyVolumeModule::ToyVolumeModule() : OpenSpaceModule(Name) {} -void ToyVolumeModule::internalInitialize() { +void ToyVolumeModule::internalInitialize(const ghoul::Dictionary&) { auto fRenderable = FactoryManager::ref().factory(); ghoul_assert(fRenderable, "No renderable factory existed"); fRenderable->registerClass("RenderableToyVolume"); diff --git a/modules/toyvolume/toyvolumemodule.h b/modules/toyvolume/toyvolumemodule.h index 9af64b117c..a76bb6af18 100644 --- a/modules/toyvolume/toyvolumemodule.h +++ b/modules/toyvolume/toyvolumemodule.h @@ -34,7 +34,8 @@ public: constexpr static const char* Name = "ToyVolume"; ToyVolumeModule(); - void internalInitialize() override; + + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/modules/volume/volumemodule.cpp b/modules/volume/volumemodule.cpp index 9461d29b01..a6af7ba468 100644 --- a/modules/volume/volumemodule.cpp +++ b/modules/volume/volumemodule.cpp @@ -36,7 +36,7 @@ using namespace volume; VolumeModule::VolumeModule() : OpenSpaceModule(Name) {} -void VolumeModule::internalInitialize() { +void VolumeModule::internalInitialize(const ghoul::Dictionary&) { auto factory = FactoryManager::ref().factory(); ghoul_assert(factory, "No renderable factory existed"); factory->registerClass("RenderableTimeVaryingVolume"); diff --git a/modules/volume/volumemodule.h b/modules/volume/volumemodule.h index ee4c198c10..b7e2fb3bfa 100644 --- a/modules/volume/volumemodule.h +++ b/modules/volume/volumemodule.h @@ -33,8 +33,9 @@ class VolumeModule : public OpenSpaceModule { public: constexpr static const char* Name = "Volume"; - void internalInitialize() override; VolumeModule(); + + void internalInitialize(const ghoul::Dictionary&) override; }; } // namespace openspace diff --git a/openspace.cfg b/openspace.cfg index 26ada5323b..1014b04ff6 100644 --- a/openspace.cfg +++ b/openspace.cfg @@ -24,6 +24,8 @@ return { -- Streaming OpenSpace via Spout to OBS -- SGCTConfig = sgct.config.single{2560, 1440, shared=true, name="WV_OBS_SPOUT1"}, + -- SGCTConfig = "${CONFIG}/spout_output.xml", + --SGCTConfig = "${CONFIG}/openvr_oculusRiftCv1.xml", --SGCTConfig = "${CONFIG}/openvr_htcVive.xml", @@ -31,6 +33,7 @@ return { -- of all entities that will be visible during an instance of OpenSpace Asset = "default", + -- Asset = "default_full", -- Asset = "newhorizons", -- Asset = "rosetta", -- Asset = "osirisrex", diff --git a/src/util/openspacemodule.cpp b/src/util/openspacemodule.cpp index 83f6e5aee1..12ea8def9d 100644 --- a/src/util/openspacemodule.cpp +++ b/src/util/openspacemodule.cpp @@ -119,16 +119,11 @@ std::string OpenSpaceModule::modulePath() const { ); } -const ModuleEngine* OpenSpaceModule::moduleEngine() const -{ +const ModuleEngine* OpenSpaceModule::moduleEngine() const { return _moduleEngine; } -void OpenSpaceModule::internalInitialize() {} - -void OpenSpaceModule::internalInitialize(const ghoul::Dictionary&) { - internalInitialize(); -} +void OpenSpaceModule::internalInitialize(const ghoul::Dictionary&) {} void OpenSpaceModule::internalDeinitialize() {}