From c1245fc9c5c0033e411b7e69c26c42d0def604c5 Mon Sep 17 00:00:00 2001 From: Ylva Selling Date: Tue, 28 Mar 2023 13:51:57 -0400 Subject: [PATCH] Add actions to missions topic --- include/openspace/mission/mission.h | 4 ++++ src/mission/mission.cpp | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/openspace/mission/mission.h b/include/openspace/mission/mission.h index 4ec63d647a..9017eb40a3 100644 --- a/include/openspace/mission/mission.h +++ b/include/openspace/mission/mission.h @@ -95,6 +95,8 @@ public: */ const std::vector& phases() const; + const std::vector &actions() const; + using Trace = std::vector>; /** @@ -140,6 +142,8 @@ protected: std::vector _subphases; /// Image that is associated with this phase std::string _image; + /// Actions associated with the phase + std::vector _actions; }; /** diff --git a/src/mission/mission.cpp b/src/mission/mission.cpp index d139465d4e..c07575402b 100644 --- a/src/mission/mission.cpp +++ b/src/mission/mission.cpp @@ -60,6 +60,9 @@ namespace { std::optional image; }; std::optional media; + + // Actions associated with this phase + std::optional> actions; }; #include "mission_codegen.cpp" } // namespace @@ -141,6 +144,10 @@ MissionPhase::MissionPhase(const ghoul::Dictionary& dictionary) { )); } } + + if (p.actions.has_value()) { + _actions = p.actions.value_or(_actions); + } } const std::string& MissionPhase::name() const { @@ -163,6 +170,10 @@ const std::vector& MissionPhase::phases() const { return _subphases; } +const std::vector& MissionPhase::actions() const { + return _actions; +} + MissionPhase::Trace MissionPhase::phaseTrace(double time, int maxDepth) const { Trace trace; if (_timeRange.includes(time)) {