diff --git a/python/core/eigen_types.h b/python/core/eigen_types.h index b58d529..2c36777 100644 --- a/python/core/eigen_types.h +++ b/python/core/eigen_types.h @@ -182,10 +182,15 @@ void declareEigenTypes(py::module & m) { return Eigen::Quaterniond::FromTwoVectors(a, b); }) - .def("x", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::x) - .def("y", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::y) - .def("z", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::z) - .def("w", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::w) + // .def("x", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::x) + // .def("y", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::y) + // .def("z", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::z) + // .def("w", (double (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::w) + // Replaced by the following: @Pietro Griffa - ETHZ - following this issue https://github.com/uoip/g2opy/issues/46#issuecomment-704190419 + .def("x", [](const Eigen::Quaterniond& q) { return q.x(); }) + .def("y", [](const Eigen::Quaterniond& q) { return q.y(); }) + .def("z", [](const Eigen::Quaterniond& q) { return q.z(); }) + .def("w", [](const Eigen::Quaterniond& q) { return q.w(); }) .def("vec", (const Eigen::VectorBlock (Eigen::Quaterniond::*) () const) &Eigen::Quaterniond::vec)