diff --git a/cmake b/cmake index ab4c798680d0a3ba4e84d3b7f25cc42d336eca1b..242dc450ae43ca2182987c9588c21e8aab32d61c 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit ab4c798680d0a3ba4e84d3b7f25cc42d336eca1b +Subproject commit 242dc450ae43ca2182987c9588c21e8aab32d61c diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp index 678837c9bb8d1478448d7b094cf7b16b19b20f45..a715f5cc889c2d3085c011a02dc7073bafb285d8 100644 --- a/include/eigenpy/details.hpp +++ b/include/eigenpy/details.hpp @@ -410,6 +410,15 @@ namespace eigenpy memory->convertible = storage; } + + static void registration() + { + bp::converter::registry::push_back + (reinterpret_cast<void *(*)(_object *)>(&EigenFromPy::convertible), + &EigenFromPy::construct,bp::type_id<MatType>()); + } + }; + }; #define numpy_import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); } } @@ -425,10 +434,7 @@ namespace eigenpy { static void registration() { - bp::converter::registry::push_back - (reinterpret_cast<void *(*)(_object *)>(&EigenFromPy<MatType>::convertible), - &EigenFromPy<MatType>::construct,bp::type_id<MatType>()); - + EigenFromPy<MatType>::registration(); // Add also conversion to Eigen::MatrixBase<MatType> bp::converter::registry::push_back (reinterpret_cast<void *(*)(_object *)>(&EigenFromPy<MatType>::convertible), @@ -450,7 +456,6 @@ namespace eigenpy }; #endif - template<typename MatType> void enableEigenPySpecific() {