Bladeren bron

Fixed alignment problems with Eigen types.

jcsyshc 1 jaar geleden
bovenliggende
commit
9ab7688a75
2 gewijzigde bestanden met toevoegingen van 3 en 18 verwijderingen
  1. 2 17
      src/core/basic_obj_types.hpp
  2. 1 1
      tests/data/ndi_interface_config.json

+ 2 - 17
src/core/basic_obj_types.hpp

@@ -12,26 +12,14 @@
 
 namespace sophiar {
 
-    template<typename T>
-    struct is_eigen_type : std::is_base_of<Eigen::EigenBase<T>, T> {
-    };
-
-    template<typename T>
-    inline constexpr size_t small_obj_align_bytes() {
-        if constexpr (is_eigen_type<T>::value) { return EIGEN_MAX_ALIGN_BYTES; }
-        return alignof(T);
-    }
-
     template<typename T>
     struct small_obj_wrapper : public small_obj<small_obj_wrapper<T>,
-            aligned_allocator<small_obj_align_bytes<T>()>> {
+            aligned_allocator<alignof(T)>> {
 
         using this_type = small_obj_wrapper<T>;
         using value_type = T;
 
-        static constexpr auto value_align_bytes = small_obj_align_bytes<T>();
-
-        alignas(value_align_bytes) T value;
+        T value;
 
         small_obj_wrapper() = default;
 
@@ -68,9 +56,6 @@ namespace sophiar {
         static constexpr size_t binary_length() {
             return sizeof(T);
         }
-
-    public:
-        EIGEN_MAKE_ALIGNED_OPERATOR_NEW
     };
 
     template<size_t Length>

+ 1 - 1
tests/data/ndi_interface_config.json

@@ -25,7 +25,7 @@
         "com_port": "/dev/ttyUSB0",
         "tool_list": [
           {
-            "rom_path": "/home/tpx/data/roms/Glass_4Ball_1.rom",
+            "rom_path": "/home/tpx/data/roms/Glass_3Ball_5.rom",
             "outputs": {
               "transform": "probe_in_tracker",
               "marker_uncertainty": "probe_uncertainty"