From f6314de7c4abce64295fd58844198439fad07c9d Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Thu, 16 Nov 2023 10:30:47 +0100
Subject: [PATCH] Add Names to Location BOs

---
 .../util/LocationLoader/datatypes/Location.h  | 36 +++++++++++--------
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/source/RobotAPI/libraries/PriorKnowledge/util/LocationLoader/datatypes/Location.h b/source/RobotAPI/libraries/PriorKnowledge/util/LocationLoader/datatypes/Location.h
index 2a1eccb4c..f4a05204d 100644
--- a/source/RobotAPI/libraries/PriorKnowledge/util/LocationLoader/datatypes/Location.h
+++ b/source/RobotAPI/libraries/PriorKnowledge/util/LocationLoader/datatypes/Location.h
@@ -1,11 +1,13 @@
 #pragma once
 
 #include <memory>
+#include <optional>
 #include <string>
 
 #include <SimoxUtility/shapes/OrientedBox.h>
 
 #include <RobotAPI/libraries/core/FramedPose.h>
+#include <RobotAPI/libraries/core/Names.h>
 
 namespace armarx::priorknowledge::util
 {
@@ -31,8 +33,12 @@ namespace armarx::priorknowledge::util
     {
         LocationId id;
         LocationType type;
+        std::optional<Names> names;
 
-        Location(const LocationId& i, const LocationType t) : id(i), type(t)
+        Location(const LocationId& i,
+                 const LocationType t,
+                 const std::optional<Names>& names = std::nullopt) :
+            id(i), type(t), names(names)
         {
         }
 
@@ -45,12 +51,13 @@ namespace armarx::priorknowledge::util
         std::string agent;
         Eigen::Matrix4f pose;
 
-        FramedLocation(const LocationId& i,
-                       const LocationType t,
-                       const std::string& f,
-                       const std::string& a,
-                       const Eigen::Matrix4f& p) :
-            Location(i, t), frame(f), agent(a), pose(p)
+        FramedLocation(const LocationId& id,
+                       const LocationType type,
+                       const std::string& frame,
+                       const std::string& agent,
+                       const Eigen::Matrix4f& pose,
+                       const std::optional<Names>& names = std::nullopt) :
+            Location(id, type, names), frame(frame), agent(agent), pose(pose)
         {
         }
 
@@ -63,13 +70,14 @@ namespace armarx::priorknowledge::util
     {
         Eigen::Vector3f extents;
 
-        FramedBoxedLocation(const LocationId& i,
-                            const LocationType t,
-                            const std::string& f,
-                            const std::string& a,
-                            const Eigen::Matrix4f& p,
-                            const Eigen::Vector3f& e) :
-            FramedLocation(i, t, f, a, p), extents(e)
+        FramedBoxedLocation(const LocationId& id,
+                            const LocationType type,
+                            const std::string& frame,
+                            const std::string& agent,
+                            const Eigen::Matrix4f& pose,
+                            const Eigen::Vector3f& extents,
+                            const std::optional<Names>& names = std::nullopt) :
+            FramedLocation(id, type, frame, agent, pose, names), extents(extents)
         {
         }
 
-- 
GitLab