From e05a9802544bc671a7612b168435f7ee1496e405 Mon Sep 17 00:00:00 2001 From: Ylva Selling Date: Wed, 21 Apr 2021 13:41:41 +0200 Subject: [PATCH] Add a circle which shows where on the sky an image points at --- data/assets/circle.png | Bin 0 -> 18267 bytes data/assets/hoverCircle.asset | 12 ++++++ modules/skybrowser/skybrowsermodule.cpp | 16 ++++++++ modules/skybrowser/skybrowsermodule_lua.inl | 40 ++++++++++++++++++++ modules/skybrowser/src/wwtdatahandler.cpp | 4 -- 5 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 data/assets/circle.png create mode 100644 data/assets/hoverCircle.asset diff --git a/data/assets/circle.png b/data/assets/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3a08e5c5e0106d6ca8a04d7e22c3615d9cc2ab GIT binary patch literal 18267 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 #include #include +#include #include #include #include @@ -61,6 +62,45 @@ namespace openspace::skybrowser::luascriptfunctions { browser->sendMessageToWWT(browser->createMessageForSettingForegroundOpacityWWT(100)); return 1; } + + int moveCircleToHoverImage(lua_State* L) { + // Load image + ghoul::lua::checkArgumentsAndThrow(L, 1, "lua::moveCircleToHoverImage"); + const int i = ghoul::lua::value(L, 1); + + ScreenSpaceImageLocal* hoverCircle = dynamic_cast(global::renderEngine->screenSpaceRenderable("HoverCircle")); + hoverCircle->property("Enabled")->set(true); + SkyBrowserModule* module = global::moduleEngine->module(); + const ImageData& resultImage = module->getWWTDataHandler()->getLoadedImages()[i]; + + if (resultImage.hasCoords) { + + glm::dvec3 imageCoordsGalactic = icrsToGalacticCartesian(resultImage.celestCoords.x, resultImage.celestCoords.y, 1.0); + // This is a duplicate of target function "lookAtGalacticCoord". Probably should rewrite this so there are no duplicates... + glm::dmat4 cameraInvRotMat = global::navigationHandler->camera()->viewRotationMatrix(); + glm::dvec3 viewDirectionLocal = cameraInvRotMat * glm::dvec4(imageCoordsGalactic, 1.f); + + glm::dvec2 angleCoordsLocal = glm::dvec2(atan(viewDirectionLocal.x / viewDirectionLocal.z), atan(viewDirectionLocal.y / viewDirectionLocal.z)); + double projPlaneDistance = -2.1f; + glm::dvec2 imageCoordsScreenSpace = glm::dvec2(projPlaneDistance * tan(angleCoordsLocal.x), projPlaneDistance * tan(angleCoordsLocal.y)); + // Translate target + hoverCircle->translate(glm::vec2(imageCoordsScreenSpace) - hoverCircle->getScreenSpacePosition(), hoverCircle->getScreenSpacePosition()); + } + + return 1; + } + + int disableHoverCircle(lua_State* L) { + // Load image + ghoul::lua::checkArgumentsAndThrow(L, 0, "lua::disableHoverCircle"); + LINFO("YO"); + ScreenSpaceImageLocal* hoverCircle = dynamic_cast(global::renderEngine->screenSpaceRenderable("HoverCircle")); + LINFO("YAH"); + hoverCircle->property("Enabled")->set(false); + LINFO("Yu"); + return 1; + } + int followCamera(lua_State* L) { // Load images from url diff --git a/modules/skybrowser/src/wwtdatahandler.cpp b/modules/skybrowser/src/wwtdatahandler.cpp index e00adc27c4..46e2af616a 100644 --- a/modules/skybrowser/src/wwtdatahandler.cpp +++ b/modules/skybrowser/src/wwtdatahandler.cpp @@ -6,10 +6,6 @@ namespace { constexpr const char* _loggerCat = "WWTDataHandler"; - - - - } //namespace namespace openspace {