From 835d41b60d4fba39bf72d23a17a4e773ad6be8da Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Tue, 13 Apr 2021 10:56:03 +0200
Subject: [PATCH] armem_robot_mapping: adding list of sensors to query result

---
 .../libraries/armem_robot_mapping/MappingDataReader.cpp   | 8 +++++++-
 .../libraries/armem_robot_mapping/MappingDataReader.h     | 2 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp
index 01250bbb4..6f57909c6 100644
--- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp
+++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp
@@ -1,10 +1,11 @@
 #include "MappingDataReader.h"
-#include "RobotAPI/libraries/armem_robot_localization/MemoryConnector.h"
 
 #include <vector>
 
 #include <IceUtil/Time.h>
 
+#include <SimoxUtility/algorithm/get_map_keys_values.h>
+
 #include <ArmarXCore/core/logging/Logging.h>
 
 #include <RobotAPI/libraries/armem/core/EntityInstance.h>
@@ -14,6 +15,7 @@
 #include <RobotAPI/libraries/armem_robot_mapping/aron_conversions.h>
 #include <RobotAPI/libraries/armem_robot_mapping/types.h>
 #include <RobotAPI/libraries/aron/core/codegenerator/codeWriter/cpp/AronCppClass.h>
+#include "RobotAPI/libraries/armem_robot_localization/MemoryConnector.h"
 
 namespace armarx::armem
 {
@@ -109,6 +111,7 @@ namespace armarx::armem
             ARMARX_WARNING << "Failed to query data from memory: "
                            << qResult.errorMessage;
             return {.laserScans = {},
+                    .sensors = {},
                     .status = Result::Status::Error,
                     .errorMessage = qResult.errorMessage};
         }
@@ -128,7 +131,10 @@ namespace armarx::armem
             return laserScan;
         });
 
+        const auto sensors = simox::alg::get_keys(entities);
+
         return {.laserScans = std::move(laserScans),
+                .sensors = sensors,
                 .status = Result::Status::Success,
                 .errorMessage = ""};
     }
diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h
index 3ccfc02ff..3c700703e 100644
--- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h
+++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h
@@ -82,6 +82,8 @@ namespace armarx::armem
 
             std::vector<LaserScanStamped> laserScans;
 
+            std::vector<std::string> sensors;
+
             enum Status
             {
                 Error,
-- 
GitLab