From 574a3a57d73bbb8c0021581a89884c92ebf1bb14 Mon Sep 17 00:00:00 2001
From: Joseph Mirabel <jmirabel@laas.fr>
Date: Tue, 14 Jun 2016 18:58:16 +0200
Subject: [PATCH] Don't align underlying vector in Quaternion3f

---
 include/hpp/fcl/math/transform.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/hpp/fcl/math/transform.h b/include/hpp/fcl/math/transform.h
index 94f6461b..d74ea775 100644
--- a/include/hpp/fcl/math/transform.h
+++ b/include/hpp/fcl/math/transform.h
@@ -49,7 +49,7 @@ namespace fcl {
 
   template<typename RhsType>
   struct quaternion_transform_return_type_traits {
-    typedef Eigen::Matrix<FCL_REAL, 4, 1> Vec4f;
+    typedef Eigen::Matrix<FCL_REAL, 4, 1, Eigen::DontAlign> Vec4f;
     typedef typename Vec4f::     FixedSegmentReturnType<3>::Type XYZ_t;
     typedef typename Vec4f::ConstFixedSegmentReturnType<3>::Type XYZConst_t;
 
@@ -106,7 +106,7 @@ namespace fcl
 class Quaternion3f
 {
 private:
-  typedef Eigen::Matrix<FCL_REAL, 4, 1> Vec4f;
+  typedef Eigen::Matrix<FCL_REAL, 4, 1, Eigen::DontAlign> Vec4f;
   typedef typename Vec4f::     FixedSegmentReturnType<3>::Type XYZ_t;
   typedef typename Vec4f::ConstFixedSegmentReturnType<3>::Type XYZConst_t;
 
@@ -273,8 +273,8 @@ private:
     return data[i];
   }
 
-  inline Vec4f::     FixedSegmentReturnType<3>::Type vec()       { return data.segment<3>(X); }
-  inline Vec4f::ConstFixedSegmentReturnType<3>::Type vec() const { return data.segment<3>(X); }
+  inline XYZ_t      vec()       { return data.segment<3>(X); }
+  inline XYZConst_t vec() const { return data.segment<3>(X); }
 
   Vec4f data;
 
-- 
GitLab