Skip to content
Snippets Groups Projects
Commit 9627d147 authored by jcarpent's avatar jcarpent
Browse files

[Joint] Fix alignment issue for the JointComposite

parent 81ce16e0
No related branches found
No related tags found
No related merge requests found
...@@ -102,6 +102,7 @@ namespace se3 ...@@ -102,6 +102,7 @@ namespace se3
class ConstraintTpl : public ConstraintBase<ConstraintTpl < _Dim, _Scalar, _Options > > class ConstraintTpl : public ConstraintBase<ConstraintTpl < _Dim, _Scalar, _Options > >
{ {
public: public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
typedef ConstraintBase< ConstraintTpl< _Dim, _Scalar, _Options > > Base; typedef ConstraintBase< ConstraintTpl< _Dim, _Scalar, _Options > > Base;
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include "pinocchio/assert.hpp" #include "pinocchio/assert.hpp"
#include "pinocchio/multibody/joint/joint.hpp" #include "pinocchio/multibody/joint/joint.hpp"
#include <Eigen/StdVector>
EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(se3::SE3) EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(se3::SE3)
EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(se3::Motion) EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(se3::Motion)
...@@ -56,12 +58,16 @@ namespace se3 ...@@ -56,12 +58,16 @@ namespace se3
typedef Eigen::Matrix<double,Eigen::Dynamic,1> ConfigVector_t; typedef Eigen::Matrix<double,Eigen::Dynamic,1> ConfigVector_t;
typedef Eigen::Matrix<double,Eigen::Dynamic,1> TangentVector_t; typedef Eigen::Matrix<double,Eigen::Dynamic,1> TangentVector_t;
}; };
template<> struct traits<JointDataComposite> { typedef JointComposite JointDerived; }; template<> struct traits<JointDataComposite> { typedef JointComposite JointDerived; };
template<> struct traits<JointModelComposite> { typedef JointComposite JointDerived; }; template<> struct traits<JointModelComposite> { typedef JointComposite JointDerived; };
struct JointDataComposite : public JointDataBase<JointDataComposite> struct JointDataComposite : public JointDataBase<JointDataComposite>
{ {
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
typedef JointComposite Joint; typedef JointComposite Joint;
typedef std::vector<JointData, Eigen::aligned_allocator<JointData> > JointDataVector;
SE3_JOINT_TYPEDEF; SE3_JOINT_TYPEDEF;
JointDataVector joints; JointDataVector joints;
...@@ -99,9 +105,13 @@ namespace se3 ...@@ -99,9 +105,13 @@ namespace se3
struct JointModelComposite : public JointModelBase<JointModelComposite> struct JointModelComposite : public JointModelBase<JointModelComposite>
{ {
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
typedef JointComposite Joint; typedef JointComposite Joint;
SE3_JOINT_TYPEDEF; SE3_JOINT_TYPEDEF;
SE3_JOINT_USE_INDEXES; SE3_JOINT_USE_INDEXES;
typedef std::vector<JointModel, Eigen::aligned_allocator<JointModel> > JointModelVector;
using JointModelBase<JointModelComposite>::id; using JointModelBase<JointModelComposite>::id;
using JointModelBase<JointModelComposite>::setIndexes; using JointModelBase<JointModelComposite>::setIndexes;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment