From 1a450e72c633f0ca47e37af19824a9dac5fe3b67 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Fri, 1 Oct 2021 10:59:32 +0200
Subject: [PATCH] EigenConverter: fixing ConvertToDynamicArray

---
 .../RobotAPI/libraries/aron/converter/eigen/EigenConverter.h  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h b/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h
index 4a5a02e56..810693b3a 100644
--- a/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h
+++ b/source/RobotAPI/libraries/aron/converter/eigen/EigenConverter.h
@@ -150,11 +150,11 @@ namespace armarx::aron::converter
         static Eigen::Array<T, Eigen::Dynamic, Eigen::Dynamic> ConvertToDynamicArray(const datanavigator::NDArrayNavigator& nav)
         {
             const auto dims = nav.getDimensions();
+            ARMARX_CHECK_EQUAL(dims.size(), 2);
 
             using ArrayT = Eigen::Array<T, Eigen::Dynamic, Eigen::Dynamic>;
 
-            ArrayT ret;
-            memcpy(reinterpret_cast<unsigned char*>(ret.data()), nav.getData(), std::accumulate(std::begin(dims), std::end(dims), 1, std::multiplies<>()));
+            ArrayT ret = Eigen::Map<ArrayT>(reinterpret_cast<T*>(nav.getData()), dims.at(0), dims.at(1));
             return ret;
         }
 
-- 
GitLab