diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp index d725159f18d4a9732b12a4153dbb7e836f2c8de5..b76357dea9125342a6d23f9acbe070517194ccf9 100644 --- a/include/eigenpy/details.hpp +++ b/include/eigenpy/details.hpp @@ -265,6 +265,19 @@ namespace eigenpy } } + if (PyArray_NDIM(obj_ptr) == 2) + { + const int R = (int)PyArray_DIMS(obj_ptr)[0]; + const int C = (int)PyArray_DIMS(obj_ptr)[1]; + + if( (MatType::RowsAtCompileTime!=R) + && (MatType::RowsAtCompileTime!=Eigen::Dynamic) ) + return 0; + if( (MatType::ColsAtCompileTime!=C) + && (MatType::ColsAtCompileTime!=Eigen::Dynamic) ) + return 0; + } + // Check if the Scalar type of the obj_ptr is compatible with the Scalar type of MatType if ((PyArray_ObjectType(reinterpret_cast<PyObject *>(obj_ptr), 0)) == NPY_INT) {