From aa4dbaa7198a79183358807b504b84f1f5446bd6 Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Mon, 10 May 2021 18:49:43 +0200
Subject: [PATCH] Add makeObjectInstanceMemoryID()

---
 .../libraries/armem_objects/aron_conversions.cpp       |  8 ++++++++
 .../libraries/armem_objects/aron_conversions.h         | 10 ++++++++++
 2 files changed, 18 insertions(+)

diff --git a/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp b/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp
index 859f3d601..39ee8bccc 100644
--- a/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp
+++ b/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp
@@ -25,3 +25,11 @@ void armarx::armem::toAron(arondto::ObjectInstance& dto, const objpose::ObjectPo
 }
 
 
+armarx::armem::MemoryID
+armarx::armem::obj::makeObjectInstanceMemoryID(const objpose::ObjectPose& objectPose)
+{
+    return MemoryID("Object/Instance")
+           .withProviderSegmentName(objectPose.providerName)
+           .withEntityName(objectPose.objectID.str())
+           .withTimestamp(objectPose.timestamp);
+}
diff --git a/source/RobotAPI/libraries/armem_objects/aron_conversions.h b/source/RobotAPI/libraries/armem_objects/aron_conversions.h
index 7ea733e99..feeed6834 100644
--- a/source/RobotAPI/libraries/armem_objects/aron_conversions.h
+++ b/source/RobotAPI/libraries/armem_objects/aron_conversions.h
@@ -12,4 +12,14 @@ namespace armarx::armem
 
     void fromAron(const arondto::ObjectInstance& dto, objpose::ObjectPose& bo);
     void toAron(arondto::ObjectInstance& dto, const objpose::ObjectPose& bo);
+
+}
+
+
+#include <RobotAPI/libraries/armem/core/MemoryID.h>
+
+namespace armarx::armem::obj
+{
+    /// Make a Memory ID for the object instance snapshot representing this pose.
+    MemoryID makeObjectInstanceMemoryID(const objpose::ObjectPose& objectPose);
 }
-- 
GitLab