diff --git a/modules/skybrowser/include/screenspaceskybrowser.h b/modules/skybrowser/include/screenspaceskybrowser.h index 0313dceb58..133b7bf6e8 100644 --- a/modules/skybrowser/include/screenspaceskybrowser.h +++ b/modules/skybrowser/include/screenspaceskybrowser.h @@ -22,6 +22,8 @@ namespace openspace { ghoul::Dictionary createMessageForMovingWWTCamera(const glm::dvec2 celestCoords, const float fov, const bool moveInstantly = true) const; ghoul::Dictionary createMessageForPausingWWTTime() const; ghoul::Dictionary createMessageForLoadingWWTImgColl(const std::string& url) const; + ghoul::Dictionary createMessageForSettingForegroundWWT(const std::string& name) const; + ghoul::Dictionary createMessageForSettingForegroundOpacityWWT(double val) const; bool sendMessageToWWT(const ghoul::Dictionary& msg); void sendMouseEvent(CefStructBase event, int x, int y) const; void WWTfollowCamera(); diff --git a/modules/skybrowser/skybrowsermodule.cpp b/modules/skybrowser/skybrowsermodule.cpp index 79ffc0851a..1d703edc65 100644 --- a/modules/skybrowser/skybrowsermodule.cpp +++ b/modules/skybrowser/skybrowsermodule.cpp @@ -87,7 +87,7 @@ namespace openspace { "input. An input string should be the name of the system host star" }, { - "loacImgCollection", + "loadCollection", &skybrowser::luascriptfunctions::loadImgCollection, {}, "string or list of strings", diff --git a/modules/skybrowser/skybrowsermodule_lua.inl b/modules/skybrowser/skybrowsermodule_lua.inl index 1c068aaf22..4d45bbe0f7 100644 --- a/modules/skybrowser/skybrowsermodule_lua.inl +++ b/modules/skybrowser/skybrowsermodule_lua.inl @@ -32,8 +32,14 @@ namespace { namespace openspace::skybrowser::luascriptfunctions { int loadImgCollection(lua_State* L) { - ghoul::lua::checkArgumentsAndThrow(L, 1, "lua::loadCollection"); + ghoul::lua::checkArgumentsAndThrow(L, 0, "lua::loadCollection"); + ScreenSpaceSkyBrowser* browser = dynamic_cast(global::renderEngine->screenSpaceRenderable("SkyBrowser1")); + std::string url = "http://www.worldwidetelescope.org/wwtweb/catalog.aspx?W=wise"; + browser->sendMessageToWWT(browser->createMessageForLoadingWWTImgColl(url)); + browser->sendMessageToWWT(browser->createMessageForSettingForegroundWWT("Andromeda Galaxy")); + // browser->sendMessageToWWT(browser->createMessageForMovingWWTCamera(glm::vec2(0.712305533333333, 41.269167), 24.0f)); + browser->sendMessageToWWT(browser->createMessageForSettingForegroundOpacityWWT(100)); return 1; } diff --git a/modules/skybrowser/src/screenspaceskybrowser.cpp b/modules/skybrowser/src/screenspaceskybrowser.cpp index 442724bc32..9b7be51e75 100644 --- a/modules/skybrowser/src/screenspaceskybrowser.cpp +++ b/modules/skybrowser/src/screenspaceskybrowser.cpp @@ -93,7 +93,7 @@ namespace openspace { _skyTargetID.onChange([&]() { setConnectedTarget(); }); - + _fieldOfView.onChange([&]() { if (_skyTarget) { _skyTarget->updateFOV(_fieldOfView); @@ -200,12 +200,34 @@ namespace openspace { // https://docs.worldwidetelescope.org/data-guide/1/data-file-formats/collections/sample-blank-collection.wtml using namespace std::string_literals; ghoul::Dictionary msg; - msg.setValue("event", "center_on_coordinates"s); + msg.setValue("event", "load_image_collection"s); msg.setValue("url", url); return msg; } + ghoul::Dictionary ScreenSpaceSkyBrowser::createMessageForSettingForegroundWWT(const std::string& name) const { + // https://docs.worldwidetelescope.org/data-guide/1/data-file-formats/collections/sample-blank-collection.wtml + using namespace std::string_literals; + ghoul::Dictionary msg; + msg.setValue("event", "set_foreground_by_name"s); + msg.setValue("name", name); + + return msg; + } + + ghoul::Dictionary ScreenSpaceSkyBrowser::createMessageForSettingForegroundOpacityWWT(double val) const { + // https://docs.worldwidetelescope.org/data-guide/1/data-file-formats/collections/sample-blank-collection.wtml + using namespace std::string_literals; + ghoul::Dictionary msg; + msg.setValue("event", "set_foreground_opacity"s); + msg.setValue("value", val); + + return msg; + } + + + ghoul::Dictionary ScreenSpaceSkyBrowser::createMessageForPausingWWTTime() const { using namespace std::string_literals;