From db36b2dec5bdd46af7208ea2d162e104c8b80c5a Mon Sep 17 00:00:00 2001 From: Emma Broman Date: Mon, 4 Jul 2022 15:02:06 +0200 Subject: [PATCH] Fix navigation state not loading correctly from profile (closes #2143) Note that the anchor should be used as a reference frame per default. Also, it should always be used, if possible. We have quite some problems when using other reference frames PR: #2175 --- src/engine/openspaceengine.cpp | 7 +++++-- src/navigation/navigationstate.cpp | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 131e681f2b..a28ae88408 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -1715,8 +1715,11 @@ void setCameraFromProfile(const Profile& p) { if (navStateProfile.aim.has_value()) { nav.aim = navStateProfile.aim.value(); } - if (nav.referenceFrame.empty()) { - nav.referenceFrame = "Root"; + if (navStateProfile.referenceFrame.empty()) { + nav.referenceFrame = nav.anchor; + } + else { + nav.referenceFrame = navStateProfile.referenceFrame; } nav.position = navStateProfile.position; if (navStateProfile.up.has_value()) { diff --git a/src/navigation/navigationstate.cpp b/src/navigation/navigationstate.cpp index 09df8caa83..a8ef321bae 100644 --- a/src/navigation/navigationstate.cpp +++ b/src/navigation/navigationstate.cpp @@ -106,8 +106,8 @@ CameraPose NavigationState::cameraPose() const { if (!referenceFrameNode) { LERROR(fmt::format( "Could not find scene graph node '{}' used as reference frame.", - referenceFrame) - ); + referenceFrame + )); return CameraPose(); }