diff --git a/src/details.hpp b/src/details.hpp index 949ed0c21e7369b86f1cbafc17305024990a9aeb..26681c191b739337878a252f66a580edbf69ac77 100644 --- a/src/details.hpp +++ b/src/details.hpp @@ -215,6 +215,12 @@ namespace eigenpy template<typename MatType,typename EigenEquivalentType> void enableEigenPySpecific() + { + enableEigenPySpecific<MatType>(); + } + + template<typename MatType> + void enableEigenPySpecific() { numpy_import_array(); if(check_registration<MatType>()) return; diff --git a/src/eigenpy.cpp b/src/eigenpy.cpp index d0b685eb1490be7e423521f7a40dba068279f701..a7e46423bc2139c65ffbb260638f39ed62c7d34c 100644 --- a/src/eigenpy.cpp +++ b/src/eigenpy.cpp @@ -24,15 +24,15 @@ namespace eigenpy { Exception::registerException(); - enableEigenPySpecific<Eigen::MatrixXd,Eigen::MatrixXd>(); - enableEigenPySpecific<Eigen::Matrix2d,Eigen::Matrix2d>(); - enableEigenPySpecific<Eigen::Matrix3d,Eigen::Matrix3d>(); - enableEigenPySpecific<Eigen::Matrix4d,Eigen::Matrix4d>(); + enableEigenPySpecific<Eigen::MatrixXd>(); + enableEigenPySpecific<Eigen::Matrix2d>(); + enableEigenPySpecific<Eigen::Matrix3d>(); + enableEigenPySpecific<Eigen::Matrix4d>(); - enableEigenPySpecific<Eigen::VectorXd,Eigen::VectorXd>(); - enableEigenPySpecific<Eigen::Vector2d,Eigen::Vector2d>(); - enableEigenPySpecific<Eigen::Vector3d,Eigen::Vector3d>(); - enableEigenPySpecific<Eigen::Vector4d,Eigen::Vector4d>(); + enableEigenPySpecific<Eigen::VectorXd>(); + enableEigenPySpecific<Eigen::Vector2d>(); + enableEigenPySpecific<Eigen::Vector3d>(); + enableEigenPySpecific<Eigen::Vector4d>(); } } // namespace eigenpy diff --git a/src/eigenpy.hpp b/src/eigenpy.hpp index cd01d8bcc6c44ca5aaa03304802ae55c8ecc573d..40cf58782ced5cc86506d39c61a1cd2ca25732dc 100644 --- a/src/eigenpy.hpp +++ b/src/eigenpy.hpp @@ -19,17 +19,23 @@ #include "eigenpy/fwd.hpp" #include "eigenpy/memory.hpp" +#include "eigenpy/deprecated.hh" namespace eigenpy { /* Enable Eigen-Numpy serialization for a set of standard MatrixBase instance. */ void enableEigenPy(); + + template<typename MatType> + void enableEigenPySpecific(); + /* Enable the Eigen--Numpy serialization for the templated MatrixBase class. * The second template argument is used for inheritance of Eigen classes. If * using a native Eigen::MatrixBase, simply repeat the same arg twice. */ template<typename MatType,typename EigenEquivalentType> - void enableEigenPySpecific(); + EIGENPY_DEPRECATED void enableEigenPySpecific(); + } // namespace eigenpy