From 7847111afc77b22d110305c846fc8701e22363ef Mon Sep 17 00:00:00 2001 From: Ylva Selling Date: Fri, 5 Mar 2021 10:26:45 +0100 Subject: [PATCH] Add pointer to ScreenSpaceBrowser in SkyBrowserModule and add function to pause time in WWT --- modules/skybrowser/skybrowsermodule.cpp | 13 ++++++++++--- modules/skybrowser/skybrowsermodule.h | 9 ++++++--- modules/skybrowser/skybrowsermodule_lua.inl | 21 ++++++++++----------- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/modules/skybrowser/skybrowsermodule.cpp b/modules/skybrowser/skybrowsermodule.cpp index 23d8d5aa91..939b024ec1 100644 --- a/modules/skybrowser/skybrowsermodule.cpp +++ b/modules/skybrowser/skybrowsermodule.cpp @@ -73,7 +73,7 @@ SkybrowserModule::SkybrowserModule() : OpenSpaceModule(Name) , _testProperty(TestInfo) , _zoomFactor(ZoomInfo, 50.f ,0.1f ,70.f) - //, _skyBrowser(nullptr) + , _skyBrowser(nullptr) { addProperty(_testProperty); addProperty(_zoomFactor); @@ -163,7 +163,14 @@ std::string SkybrowserModule::createMessageForMovingWWTCamera(glm::dvec2 celestC return script; } -/* + +std::string SkybrowserModule::createMessageForPausingWWTTime() const { + std::string script = "{ event: 'pause_time'}"; + + return script; +} + + void SkybrowserModule::initializeBrowser(ScreenSpaceBrowser* skyBrowser) { _skyBrowser = skyBrowser; } @@ -171,7 +178,7 @@ void SkybrowserModule::initializeBrowser(ScreenSpaceBrowser* skyBrowser) { ScreenSpaceBrowser* SkybrowserModule::skyBrowser() { return _skyBrowser; } -*/ + glm::dvec2 SkybrowserModule::convertGalacticToCelestial(glm::dvec3 rGal) const { // Used the math from this website: https://gea.esac.esa.int/archive/documentation/GD --> diff --git a/modules/skybrowser/skybrowsermodule.h b/modules/skybrowser/skybrowsermodule.h index afdb7a7ee7..3bd26fe04f 100644 --- a/modules/skybrowser/skybrowsermodule.h +++ b/modules/skybrowser/skybrowsermodule.h @@ -35,6 +35,8 @@ namespace openspace { +class ScreenSpaceBrowser; + class SkybrowserModule : public OpenSpaceModule { public: constexpr static const char* Name = "Skybrowser"; @@ -47,11 +49,12 @@ public: void WWTfollowCamera(); std::string createMessageForMovingWWTCamera(glm::dvec2 celestCoords, float fov, bool moveInstantly = true) const; + std::string createMessageForPausingWWTTime() const; bool sendMessageToWWT(const std::string& msg); - //void initializeBrowser(ScreenSpaceBrowser* skyBrowser_); - //ScreenSpaceBrowser* skyBrowser(); + void initializeBrowser(ScreenSpaceBrowser* skyBrowser_); + ScreenSpaceBrowser* skyBrowser(); scripting::LuaLibrary luaLibrary() const override; //std::vector documentations() const override; @@ -60,7 +63,7 @@ protected: properties::StringProperty _testProperty; properties::FloatProperty _zoomFactor; - //ScreenSpaceBrowser* _skyBrowser; + ScreenSpaceBrowser* _skyBrowser; }; } // namespace openspace diff --git a/modules/skybrowser/skybrowsermodule_lua.inl b/modules/skybrowser/skybrowsermodule_lua.inl index 46c7561df8..212e506483 100644 --- a/modules/skybrowser/skybrowsermodule_lua.inl +++ b/modules/skybrowser/skybrowsermodule_lua.inl @@ -33,6 +33,8 @@ namespace openspace::skybrowser::luascriptfunctions { ghoul::lua::checkArgumentsAndThrow(L, 0, "lua::followCamera"); SkybrowserModule* module = global::moduleEngine->module(); + std::string message = module->createMessageForPausingWWTTime(); + module->sendMessageToWWT(message); std::thread thread(&SkybrowserModule::WWTfollowCamera, module); thread.detach(); @@ -42,16 +44,15 @@ namespace openspace::skybrowser::luascriptfunctions { int moveBrowser(lua_State* L) { ghoul::lua::checkArgumentsAndThrow(L, 0, "lua::moveBrowser"); - // SkybrowserModule* module = global::moduleEngine->module(); - // std::string test = module->createMessageForMovingWWTCamera(glm::dvec2(18, -32), 50); - // module->sendMessageToWWT(test); - //SkybrowserModule* module = global::moduleEngine->module(); - // module->skyBrowser()->translate(glm::vec3(-0.8, -0.4, 0.0)); + SkybrowserModule* module = global::moduleEngine->module(); ScreenSpaceBrowser* browser = dynamic_cast(global::renderEngine->screenSpaceRenderable("ScreenSpaceBowser")); + module->initializeBrowser(browser); + //ScreenSpaceBrowser* browser = dynamic_cast(global::renderEngine->screenSpaceRenderable("ScreenSpaceBowser")); - browser->setFaceCameraPropertyToFalse(); - browser->translate(glm::vec3(-0.8, -0.4, 0.0)); + module->skyBrowser()->setFaceCameraPropertyToFalse(); + module->skyBrowser()->translate(glm::vec3(-0.8, -0.4, 0.0)); + return 1; } @@ -78,10 +79,8 @@ namespace openspace::skybrowser::luascriptfunctions { openspace::global::scriptEngine->queueScript( "openspace.addScreenSpaceRenderable(" + ghoul::formatLua(node) + ")", scripting::ScriptEngine::RemoteScripting::Yes - ); - ScreenSpaceBrowser* browser = dynamic_cast(global::renderEngine->screenSpaceRenderable("ScreenSpaceBowser")); - // module->initializeBrowser(browser); - + ); + return 1; }