From 9a0b76ba2a774eff19fabe5f39ec770d5f2bae7f Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Wed, 18 Aug 2021 11:32:05 +0200
Subject: [PATCH] Add and use constants for core segment names

---
 .../components/NavigationMemory/CMakeLists.txt         |  2 ++
 .../components/NavigationMemory/NavigationMemory.cpp   | 10 ++++++++++
 source/armarx/navigation/graph/aron/Graph.xml          |  8 ++++----
 source/armarx/navigation/graph/constants.cpp           |  6 ++----
 source/armarx/navigation/graph/constants.h             |  6 ++++--
 source/armarx/navigation/location/aron/Location.xml    |  6 +++---
 source/armarx/navigation/location/constants.cpp        |  6 ++----
 source/armarx/navigation/location/constants.h          |  6 ++++--
 8 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/source/Navigation/components/NavigationMemory/CMakeLists.txt b/source/Navigation/components/NavigationMemory/CMakeLists.txt
index 19721ffb..ae5f287c 100644
--- a/source/Navigation/components/NavigationMemory/CMakeLists.txt
+++ b/source/Navigation/components/NavigationMemory/CMakeLists.txt
@@ -31,6 +31,8 @@ armarx_add_component(
         ## ${PROJECT_NAME}Interfaces  # For ice interfaces from this package.
         # This component
         ## NavigationMemoryInterfaces  # If you defined a component ice interface above.
+        Navigation::Graph
+        Navigation::Location
 
     SOURCES
         NavigationMemory.cpp
diff --git a/source/Navigation/components/NavigationMemory/NavigationMemory.cpp b/source/Navigation/components/NavigationMemory/NavigationMemory.cpp
index 7b4bb34f..c914b239 100644
--- a/source/Navigation/components/NavigationMemory/NavigationMemory.cpp
+++ b/source/Navigation/components/NavigationMemory/NavigationMemory.cpp
@@ -24,6 +24,10 @@
 
 #include <Navigation/libraries/core/aron/Trajectory.aron.generated.h>
 #include <Navigation/libraries/core/aron/Twist.aron.generated.h>
+#include <armarx/navigation/location/aron/Location.aron.generated.h>
+#include <armarx/navigation/location/constants.h>
+#include <armarx/navigation/graph/aron/Graph.aron.generated.h>
+#include <armarx/navigation/graph/constants.h>
 
 // Include headers you only need in function definitions in the .cpp.
 
@@ -88,6 +92,12 @@ namespace armarx
 
         workingMemory.addCoreSegment("Events"); //, armem::example::ExampleData::toAronType());
         // workingMemory.addCoreSegment("Exceptions"); //, armem::example::ExampleData::toAronType());
+
+
+        workingMemory.addCoreSegment(nav::loc::coreSegmentName,
+                                     nav::loc::arondto::Location::toAronType());
+        workingMemory.addCoreSegment(nav::graph::coreSegmentName,
+                                     nav::graph::arondto::Graph::toAronType());
     }
 
 
diff --git a/source/armarx/navigation/graph/aron/Graph.xml b/source/armarx/navigation/graph/aron/Graph.xml
index 38d9fe74..69d0f78a 100644
--- a/source/armarx/navigation/graph/aron/Graph.xml
+++ b/source/armarx/navigation/graph/aron/Graph.xml
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <AronTypeDefinition>
     <CodeIncludes>
-      <!--Include include="armarx/navigation/locations/aron/Location.aron.generated.h" /-->
+      <!--Include include="armarx/navigation/location/aron/Location.aron.generated.h" /-->
     </CodeIncludes>
     <AronIncludes>
-      <!-- <Include include="<armarx/navigation/locations/aron/Location.xml>" /> -->
+      <!-- <Include include="<armarx/navigation/location/aron/Location.xml>" /> -->
     </AronIncludes>
 
     <GenerateTypes>
 
-        <Object name='armarx::nav::graphs::arondto::Graph'>
+        <Object name='armarx::nav::graph::arondto::Graph'>
 
             <!--ObjectChild key='location'>
-                <armarx::nav::locs::arondto::Location />
+                <armarx::nav::loc::arondto::Location />
             </ObjectChild-->
 
         </Object>
diff --git a/source/armarx/navigation/graph/constants.cpp b/source/armarx/navigation/graph/constants.cpp
index e1b0ee56..543952ee 100644
--- a/source/armarx/navigation/graph/constants.cpp
+++ b/source/armarx/navigation/graph/constants.cpp
@@ -1,11 +1,9 @@
-#include "aron_conversions.h"
+#include "constants.h"
 
 
 namespace armarx::nav
 {
 
-    void core::test()
-    {
+    const std::string graph::coreSegmentName = "Graph";
 
-    }
 }
diff --git a/source/armarx/navigation/graph/constants.h b/source/armarx/navigation/graph/constants.h
index 0897a62a..7e518c7e 100644
--- a/source/armarx/navigation/graph/constants.h
+++ b/source/armarx/navigation/graph/constants.h
@@ -21,10 +21,12 @@
 
 #pragma once
 
+#include <string>
 
-namespace armarx::nav::core
+
+namespace armarx::nav::graph
 {
 
-    void test();
+    extern const std::string coreSegmentName;
 
 }
diff --git a/source/armarx/navigation/location/aron/Location.xml b/source/armarx/navigation/location/aron/Location.xml
index eb3cc696..4bc0d14f 100644
--- a/source/armarx/navigation/location/aron/Location.xml
+++ b/source/armarx/navigation/location/aron/Location.xml
@@ -15,7 +15,7 @@
         -->
 
 
-        <Object name='armarx::nav::locs::arondto::ObjectRelativeLocation'>
+        <Object name='armarx::nav::loc::arondto::ObjectRelativeLocation'>
 
             <ObjectChild key='objectInstanceID'>
                 <armarx::armem::arondto::MemoryID />
@@ -28,14 +28,14 @@
         </Object>
 
 
-        <Object name='armarx::nav::locs::arondto::Location'>
+        <Object name='armarx::nav::loc::arondto::Location'>
 
             <ObjectChild key='globalRobotPose'>
                 <Pose />
             </ObjectChild>
 
             <ObjectChild key='relativeToObject'>
-                <armarx::nav::locs::arondto::ObjectRelativeLocation optional="true" />
+                <armarx::nav::loc::arondto::ObjectRelativeLocation optional="true" />
             </ObjectChild>
 
         </Object>
diff --git a/source/armarx/navigation/location/constants.cpp b/source/armarx/navigation/location/constants.cpp
index d35921fd..4a9a4ca4 100644
--- a/source/armarx/navigation/location/constants.cpp
+++ b/source/armarx/navigation/location/constants.cpp
@@ -1,11 +1,9 @@
-#include "aron_conversions.h"
+#include "constants.h"
 
 
 namespace armarx::nav
 {
 
-    void coree::test()
-    {
+    const std::string loc::coreSegmentName = "Location";
 
-    }
 }
diff --git a/source/armarx/navigation/location/constants.h b/source/armarx/navigation/location/constants.h
index 44692727..31d558d0 100644
--- a/source/armarx/navigation/location/constants.h
+++ b/source/armarx/navigation/location/constants.h
@@ -21,10 +21,12 @@
 
 #pragma once
 
+#include <string>
 
-namespace armarx::nav::coree
+
+namespace armarx::nav::loc
 {
 
-void test();
+    extern const std::string coreSegmentName;
 
 }
-- 
GitLab