From 27e7add1400b5bf6833fa9ee3d33f3b3d62a9342 Mon Sep 17 00:00:00 2001 From: Justin Carpentier <justin.carpentier@inria.fr> Date: Thu, 18 Jul 2019 15:11:28 +0200 Subject: [PATCH] core: add registration static method to EigenFromPy --- cmake | 2 +- include/eigenpy/details.hpp | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmake b/cmake index ab4c798..242dc45 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 678837c..a715f5c 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() { -- GitLab