From 400b2cfbf00daf985c539646ddeb134de89528d2 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Thu, 10 Jun 2021 08:53:24 +0200
Subject: [PATCH] occupancy grid conversion

---
 .../armem_vision/aron_conversions.cpp         | 35 +++++++++----------
 .../libraries/armem_vision/aron_conversions.h |  7 ++--
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/source/RobotAPI/libraries/armem_vision/aron_conversions.cpp b/source/RobotAPI/libraries/armem_vision/aron_conversions.cpp
index 083cb5977..24029fa4c 100644
--- a/source/RobotAPI/libraries/armem_vision/aron_conversions.cpp
+++ b/source/RobotAPI/libraries/armem_vision/aron_conversions.cpp
@@ -6,14 +6,12 @@
 
 #include <RobotAPI/interface/units/LaserScannerUnit.h>
 #include <RobotAPI/libraries/armem_vision/aron/LaserScan.aron.generated.h>
+#include <RobotAPI/libraries/aron/common/aron_conversions.h>
 #include <RobotAPI/libraries/aron/converter/common/Converter.h>
 #include <RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.h>
 
-#include <RobotAPI/libraries/aron/common/aron_conversions.h>
-
 #include "types.h"
 
-
 namespace armarx::armem
 {
 
@@ -27,8 +25,8 @@ namespace armarx::armem
     SensorHeader fromAron(const arondto::SensorHeader& aronSensorHeader)
     {
 
-        return {.agent = aronSensorHeader.agent,
-                .frame = aronSensorHeader.frame,
+        return {.agent     = aronSensorHeader.agent,
+                .frame     = aronSensorHeader.frame,
                 .timestamp = timeFromAron(aronSensorHeader.timestamp)};
     }
 
@@ -39,8 +37,10 @@ namespace armarx::armem
         // laserScan.data = fromAron(aronLaserScan.data);
     }
 
-    void fromAron(const arondto::LaserScanStamped& aronLaserScan, LaserScan& laserScan,
-                  std::int64_t& timestamp, std::string& frame,
+    void fromAron(const arondto::LaserScanStamped& aronLaserScan,
+                  LaserScan& laserScan,
+                  std::int64_t& timestamp,
+                  std::string& frame,
                   std::string& agentName)
     {
         const auto header = fromAron(aronLaserScan.header);
@@ -48,14 +48,12 @@ namespace armarx::armem
         // laserScan = fromAron(aronLaserScan.data);
 
         timestamp = header.timestamp.toMicroSeconds();
-        frame = header.frame;
+        frame     = header.frame;
         agentName = header.agent;
     }
 
-
     /************ toAron ************/
 
-
     // auto toAron(const LaserScan& laserScan, aron::LaserScan& aronLaserScan)
     // {
     //     aronLaserScan.scan = toAron(laserScan);
@@ -70,8 +68,8 @@ namespace armarx::armem
     {
         arondto::SensorHeader aronSensorHeader;
 
-        aronSensorHeader.agent = sensorHeader.agent;
-        aronSensorHeader.frame = sensorHeader.frame;
+        aronSensorHeader.agent     = sensorHeader.agent;
+        aronSensorHeader.frame     = sensorHeader.frame;
         aronSensorHeader.timestamp = toAron(sensorHeader.timestamp);
 
         return aronSensorHeader;
@@ -94,20 +92,21 @@ namespace armarx::armem
         {
             .agent = agentName, .frame = frame, .timestamp = timestamp};
 
-        const LaserScanStamped laserScanStamped{.header = header, .data = laserScan};
+        const LaserScanStamped laserScanStamped{.header = header,
+                                                .data   = laserScan};
 
         toAron(laserScanStamped, aronLaserScanStamped);
     }
-    
-    void toAron(arondto::OccupancyGrid& dto, const OccupancyGrid& bo) 
+
+    void toAron(arondto::OccupancyGrid& dto, const OccupancyGrid& bo)
     {
         aron::toAron(dto.frame, bo.frame);
         aron::toAron(dto.pose, bo.pose);
         aron::toAron(dto.resolution, bo.resolution);
         // bo.grid is NdArray -> need special handling.
     }
-    
-    void fromAron(arondto::OccupancyGrid& dto, OccupancyGrid& bo) 
+
+    void fromAron(const arondto::OccupancyGrid& dto, OccupancyGrid& bo)
     {
         aron::fromAron(dto.frame, bo.frame);
         aron::fromAron(dto.pose, bo.pose);
@@ -115,4 +114,4 @@ namespace armarx::armem
         // bo.grid is NdArray -> need special handling.
     }
 
-}  // namespace armarx::armem
\ No newline at end of file
+} // namespace armarx::armem
\ No newline at end of file
diff --git a/source/RobotAPI/libraries/armem_vision/aron_conversions.h b/source/RobotAPI/libraries/armem_vision/aron_conversions.h
index d917caaca..db97ad507 100644
--- a/source/RobotAPI/libraries/armem_vision/aron_conversions.h
+++ b/source/RobotAPI/libraries/armem_vision/aron_conversions.h
@@ -26,6 +26,7 @@
 #include <RobotAPI/libraries/armem/core/Time.h>
 #include <RobotAPI/libraries/armem_vision/aron/OccupancyGrid.aron.generated.h>
 #include <RobotAPI/libraries/aron/converter/common/VectorConverter.h>
+#include <RobotAPI/libraries/aron/converter/eigen/EigenConverter.h>
 #include <RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.h>
 
 namespace armarx::armem
@@ -49,7 +50,7 @@ namespace armarx::armem
     auto fromAron(const aron::datanavigator::NDArrayNavigatorPtr& navigator)
     {
         return aron::converter::AronVectorConverter::ConvertToVector<T>(
-            navigator);
+                   navigator);
     }
 
     void fromAron(const arondto::LaserScanStamped& aronLaserScan,
@@ -70,12 +71,12 @@ namespace armarx::armem
 
     // OccupancyGrid
     void toAron(arondto::OccupancyGrid& dto, const OccupancyGrid& bo);
-    void fromAron(arondto::OccupancyGrid& dto, OccupancyGrid& bo);
+    void fromAron(const arondto::OccupancyGrid& dto, OccupancyGrid& bo);
 
     inline aron::datanavigator::NDArrayNavigatorPtr
     toAron(const OccupancyGrid::Grid& grid)
     {
-        return aron::converter::AronVectorConverter::ConvertFromVector(grid);
+        return aron::converter::AronEigenConverter::ConvertFromArray(grid);
     }
 
 } // namespace armarx::armem
\ No newline at end of file
-- 
GitLab