This forum has been archived. All content is frozen. Please use KDE Discuss instead.

AngleAxis constructor

Tags: None
(comma "," separated)
sweeneychris
Registered Member
Posts
8
Karma
0

AngleAxis constructor

Mon Nov 30, 2015 11:56 pm
When upgrading from 3.2.7 to 3.2.91 I noticed that the constructors for AngleAxisd begin breaking. Specifically, constructors that have expressions and transpose() calls in them like this:

Code: Select all
Eigen::Matrix3d rotation1, rotation2;
const Eigen::AngleAxisd rotation(rotation1.transpose() * rotation2);


This code used to work just fine but now I get errors of the sort below. Was there an API change that is not listed on the website?

In file included from /usr/local/include/eigen3/Eigen/Core:347:
/usr/local/include/eigen3/Eigen/src/Core/Product.h:203:7: error: static_assert failed "THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS"
EIGEN_STATIC_ASSERT(EnableCoeff, THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS);
^ ~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: note: expanded from macro 'EIGEN_STATIC_ASSERT'
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
^
/usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:753:20: note: in instantiation of member function
'Eigen::ProductImpl >, Eigen::Matrix, 0,
Eigen::Dense>::coeff' requested here
q.x() = (mat.coeff(2,1) - mat.coeff(1,2)) * t;
^
/usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:521:56: note: in instantiation of function template specialization
'Eigen::internal::quaternionbase_assign_impl >,
Eigen::Matrix, 0>, 3, 3>::run >' requested here
internal::quaternionbase_assign_impl::run(this, xpr.derived());
^
/usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:267:72: note: in instantiation of function template specialization
'Eigen::QuaternionBase >::operator= 3> >, Eigen::Matrix, 0> >' requested here
explicit inline Quaternion(const MatrixBase& other) { *this = other; }
^
/usr/local/include/eigen3/Eigen/src/Geometry/AngleAxis.h:187:18: note: in instantiation of function template specialization
'Eigen::Quaternion::Quaternion >,
Eigen::Matrix, 0> >' requested here
return *this = QuaternionType(mat);
^
/usr/local/include/eigen3/Eigen/src/Geometry/AngleAxis.h:86:67: note: in instantiation of function template specialization
'Eigen::AngleAxis::operator= >, Eigen::Matrix 3, 3, 0, 3, 3>, 0> >' requested here
inline explicit AngleAxis(const MatrixBase& m) { *this = m; }
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
sweeneychris
Registered Member
Posts
8
Karma
0

Re: AngleAxis constructor

Tue Dec 01, 2015 5:23 pm
Thanks!


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot]