Add pointer to ScreenSpaceBrowser in SkyBrowserModule and add function to pause time in WWT

This commit is contained in:
Ylva Selling
2021-03-05 10:26:45 +01:00
parent 7965ed5d24
commit 7847111afc
3 changed files with 26 additions and 17 deletions
+10 -3
View File
@@ -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 -->
+6 -3
View File
@@ -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<documentation::Documentation> documentations() const override;
@@ -60,7 +63,7 @@ protected:
properties::StringProperty _testProperty;
properties::FloatProperty _zoomFactor;
//ScreenSpaceBrowser* _skyBrowser;
ScreenSpaceBrowser* _skyBrowser;
};
} // namespace openspace
+10 -11
View File
@@ -33,6 +33,8 @@ namespace openspace::skybrowser::luascriptfunctions {
ghoul::lua::checkArgumentsAndThrow(L, 0, "lua::followCamera");
SkybrowserModule* module = global::moduleEngine->module<SkybrowserModule>();
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<SkybrowserModule>();
// std::string test = module->createMessageForMovingWWTCamera(glm::dvec2(18, -32), 50);
// module->sendMessageToWWT(test);
//SkybrowserModule* module = global::moduleEngine->module<SkybrowserModule>();
// module->skyBrowser()->translate(glm::vec3(-0.8, -0.4, 0.0));
SkybrowserModule* module = global::moduleEngine->module<SkybrowserModule>();
ScreenSpaceBrowser* browser = dynamic_cast<ScreenSpaceBrowser*>(global::renderEngine->screenSpaceRenderable("ScreenSpaceBowser"));
module->initializeBrowser(browser);
//ScreenSpaceBrowser* browser = dynamic_cast<ScreenSpaceBrowser*>(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<ScreenSpaceBrowser*>(global::renderEngine->screenSpaceRenderable("ScreenSpaceBowser"));
// module->initializeBrowser(browser);
);
return 1;
}