From 926ac9243f83cdfc0d795c1b22c96803281934f1 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Thu, 20 May 2021 11:01:37 +0200
Subject: [PATCH] conversions (aron)

---
 .../armem_objects/aron_conversions.cpp        | 53 +++++++++++++++++--
 .../armem_objects/aron_conversions.h          | 13 +++++
 2 files changed, 63 insertions(+), 3 deletions(-)

diff --git a/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp b/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp
index 967060360..6554397b8 100644
--- a/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp
+++ b/source/RobotAPI/libraries/armem_objects/aron_conversions.cpp
@@ -2,9 +2,8 @@
 
 #include <RobotAPI/libraries/ArmarXObjects/aron_conversions.h>
 
-#include <RobotAPI/libraries/aron/common/aron_conversions/core.h>
-#include <RobotAPI/libraries/aron/common/aron_conversions/stl.h>
-#include <RobotAPI/libraries/aron/common/aron_conversions/armarx.h>
+#include <RobotAPI/libraries/aron/common/aron_conversions.h>
+#include <RobotAPI/libraries/armem/core/aron_conversions.h>
 
 namespace armarx::armem
 {
@@ -30,6 +29,54 @@ namespace armarx::armem
         objpose::toAron(dto.pose, bo);
     }
 
+
+    /* Attachments */
+    void fromAron(const arondto::attachment::AgentDescription& dto, attachment::AgentDescription& bo)
+    {
+        fromAron(dto.id, bo.id);
+        aron::fromAron(dto.frame, bo.frame);
+    }
+
+    void toAron(arondto::attachment::AgentDescription& dto, const attachment::AgentDescription& bo)
+    {
+        toAron(dto.id, bo.id);
+        aron::toAron(dto.frame, bo.frame);
+    }
+
+
+    void fromAron(const arondto::attachment::ObjectAttachment& dto, attachment::ObjectAttachment& bo)
+    {
+        fromAron(dto.agent, bo.agent);
+        aron::fromAron(dto.transformation, bo.transformation);
+        fromAron(dto.object, bo.object);
+
+    }
+
+    void toAron(arondto::attachment::ObjectAttachment& dto, const attachment::ObjectAttachment& bo)
+    {
+        toAron(dto.agent, bo.agent);
+        aron::toAron(dto.transformation, bo.transformation);
+        toAron(dto.object, bo.object);
+    }
+
+
+    void fromAron(const arondto::attachment::ArticulatedObjectAttachment& dto, attachment::ArticulatedObjectAttachment& bo)
+    {
+        fromAron(dto.agent, bo.agent);
+        aron::fromAron(dto.transformation, bo.transformation);
+        fromAron(dto.object, bo.object);
+    }
+
+    void toAron(arondto::attachment::ArticulatedObjectAttachment& dto, const attachment::ArticulatedObjectAttachment& bo)
+    {
+        toAron(dto.agent, bo.agent);
+        aron::toAron(dto.transformation, bo.transformation);
+        toAron(dto.object, bo.object);
+    }
+
+
+
+
 }  // namespace armarx::armem
 
 armarx::armem::MemoryID
diff --git a/source/RobotAPI/libraries/armem_objects/aron_conversions.h b/source/RobotAPI/libraries/armem_objects/aron_conversions.h
index 1d74e9531..61e89c37e 100644
--- a/source/RobotAPI/libraries/armem_objects/aron_conversions.h
+++ b/source/RobotAPI/libraries/armem_objects/aron_conversions.h
@@ -3,6 +3,8 @@
 #include <RobotAPI/libraries/ArmarXObjects/ObjectPose.h>
 
 #include <RobotAPI/libraries/armem_objects/aron/ObjectInstance.aron.generated.h>
+#include <RobotAPI/libraries/armem_objects/aron/Attachment.aron.generated.h>
+
 #include <RobotAPI/libraries/armem_objects/types.h>
 
 namespace armarx::armem
@@ -13,6 +15,17 @@ namespace armarx::armem
     void fromAron(const arondto::ObjectInstance& dto, objpose::ObjectPose& bo);
     void toAron(arondto::ObjectInstance& dto, const objpose::ObjectPose& bo);
 
+
+    /* Attachments */
+    void fromAron(const arondto::attachment::AgentDescription& dto, attachment::AgentDescription& bo);
+    void toAron(arondto::attachment::AgentDescription& dto, const attachment::AgentDescription& bo);
+
+    void fromAron(const arondto::attachment::ObjectAttachment& dto, attachment::ObjectAttachment& bo);
+    void toAron(arondto::attachment::ObjectAttachment& dto, const attachment::ObjectAttachment& bo);
+
+    void fromAron(const arondto::attachment::ArticulatedObjectAttachment& dto, attachment::ArticulatedObjectAttachment& bo);
+    void toAron(arondto::attachment::ArticulatedObjectAttachment& dto, const attachment::ArticulatedObjectAttachment& bo);
+
 }  // namespace armarx::armem
 
 
-- 
GitLab