@@ -515,34 +515,8 @@ namespace eigenpy
515515 }
516516 };
517517
518- template <typename MatType>
519- struct EigenFromPy < Eigen::MatrixBase<MatType> >
520- {
521- typedef EigenFromPy<MatType> EigenFromPyDerived;
522- typedef Eigen::MatrixBase<MatType> Base;
523-
524- // / \brief Determine if pyObj can be converted into a MatType object
525- static void * convertible (PyArrayObject* pyObj)
526- {
527- return EigenFromPyDerived::convertible (pyObj);
528- }
529-
530- // / \brief Allocate memory and copy pyObj in the new storage
531- static void construct (PyObject* pyObj,
532- bp::converter::rvalue_from_python_stage1_data* memory)
533- {
534- EigenFromPyDerived::construct (pyObj,memory);
535- }
536-
537- static void registration ()
538- {
539- bp::converter::registry::push_back
540- (reinterpret_cast <void *(*)(_object *)>(&EigenFromPy::convertible),
541- &EigenFromPy::construct,bp::type_id<Base>());
542- }
543- };
544-
545518 template <typename MatType,typename EigenEquivalentType>
519+ EIGENPY_DEPRECATED
546520 void enableEigenPySpecific ()
547521 {
548522 enableEigenPySpecific<MatType>();
@@ -557,7 +531,8 @@ namespace eigenpy
557531
558532 // Add also conversion to Eigen::MatrixBase<MatType>
559533 typedef Eigen::MatrixBase<MatType> MatTypeBase;
560- EigenFromPy<MatTypeBase>::registration ();
534+ bp::implicitly_convertible<MatType,MatTypeBase>();
535+ bp::implicitly_convertible<MatTypeBase,MatType>();
561536 }
562537 };
563538
@@ -585,7 +560,6 @@ namespace eigenpy
585560
586561 bp::to_python_converter<MatType,EigenToPy<MatType> >();
587562 EigenFromPyConverter<MatType>::registration ();
588-
589563 }
590564
591565} // namespace eigenpy
0 commit comments