From 7d7a3907a32178f38e3852261b9bc31428683a34 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Fri, 11 Feb 2022 16:02:35 +0100 Subject: [PATCH] Allow ObjectMemory to load multiple scenes on startup --- .../armem_objects/server/instance/Segment.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/source/RobotAPI/libraries/armem_objects/server/instance/Segment.cpp b/source/RobotAPI/libraries/armem_objects/server/instance/Segment.cpp index 9f0d71748..72faed5fe 100644 --- a/source/RobotAPI/libraries/armem_objects/server/instance/Segment.cpp +++ b/source/RobotAPI/libraries/armem_objects/server/instance/Segment.cpp @@ -32,6 +32,7 @@ #include <ArmarXCore/core/time/TimeUtil.h> #include <SimoxUtility/algorithm/get_map_keys_values.h> +#include <SimoxUtility/algorithm/string.h> #include <SimoxUtility/json.h> #include <SimoxUtility/math/pose/pose.h> @@ -100,8 +101,9 @@ namespace armarx::armem::server::obj::instance defs->optional(p.sceneSnapshotsDirectory, prefix + "scene.11_Directory", "Directory in Package/data/Package/ containing the scene snapshots."); defs->optional(p.sceneSnapshotToLoad, prefix + "scene.12_SnapshotToLoad", - "Scene snapshot to load on startup (e.g. 'Scene_2021-06-24_20-20-03').\n" - "You can also specify paths relative to 'Package/scenes/'."); + "Scene to load on startup (e.g. 'Scene_2021-06-24_20-20-03').\n" + "You can also specify paths relative to 'Package/scenes/'. \n" + "You can also specify a ; separated list of scenes."); decay.defineProperties(defs, prefix + "decay."); } @@ -113,8 +115,13 @@ namespace armarx::armem::server::obj::instance if (not p.sceneSnapshotToLoad.empty()) { - bool lockMemory = false; - commitSceneSnapshotFromFilename(p.sceneSnapshotToLoad, lockMemory); + bool trim = true; + const std::vector<std::string> scenes = simox::alg::split(p.sceneSnapshotToLoad, ";", trim); + for (const std::string& scene : scenes) + { + const bool lockMemory = false; + commitSceneSnapshotFromFilename(scene, lockMemory); + } } } -- GitLab