From 273b3bca0c6960c469560434feb4c9273b0edba0 Mon Sep 17 00:00:00 2001 From: aniisaaden Date: Wed, 14 Oct 2020 18:04:39 +0200 Subject: [PATCH] Camera retargets and focuses on pointdatas sgn - resets the camera state when removing sgn --- .../softwareintegrationmodule.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/softwareintegration/softwareintegrationmodule.cpp b/modules/softwareintegration/softwareintegrationmodule.cpp index 01b6b050ac..81824b3df4 100644 --- a/modules/softwareintegration/softwareintegrationmodule.cpp +++ b/modules/softwareintegration/softwareintegrationmodule.cpp @@ -289,9 +289,13 @@ namespace openspace { break; } global::renderEngine.scene()->initializeNode(sgn); - global::navigationHandler.orbitalNavigator().setFocusNode(sgn); - global::navigationHandler.orbitalNavigator().startRetargetAnchor(); - global::navigationHandler.orbitalNavigator().startRetargetAim(); + + openspace::global::scriptEngine.queueScript( + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)" + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', '" + identifier + "')" + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')", + scripting::ScriptEngine::RemoteScripting::Yes + ); } catch (const documentation::SpecificationError& e) { return LERROR(fmt::format("Documentation SpecificationError: Error loading scene graph node {}", @@ -309,10 +313,11 @@ namespace openspace { } case SoftwareConnection::MessageType::RemoveSceneGraphNode: { std::string identifier(message.begin(), message.end()); - - global::navigationHandler.orbitalNavigator().setFocusNode("Earth"); openspace::global::scriptEngine.queueScript( + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil)" + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth')" + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '')" "openspace.removeSceneGraphNode('" + identifier + "');", scripting::ScriptEngine::RemoteScripting::Yes );