From 1123493b2e8ee328317d07da05549abc0edb5ab1 Mon Sep 17 00:00:00 2001
From: Wolfgang Merkt <w.merkt@gmail.com>
Date: Tue, 15 Oct 2019 18:15:46 +0100
Subject: [PATCH] Expose all real-valued specialised Eigen types

---
 src/eigenpy.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 3 deletions(-)

diff --git a/src/eigenpy.cpp b/src/eigenpy.cpp
index d9e577da..dd245f79 100644
--- a/src/eigenpy.cpp
+++ b/src/eigenpy.cpp
@@ -24,15 +24,62 @@ namespace eigenpy
     bp::def("switchToNumpyMatrix",&NumpyType::switchToNumpyMatrix,
             "Set the conversion from Eigen::Matrix to numpy.matrix.");
 
-    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXd);
     ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xf);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2Xi);
     ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xf);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3Xi);
     ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4d);
-    
-    ENABLE_SPECIFIC_MATRIX_TYPE(VectorXd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xf);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4Xi);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX2i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX3i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixX4i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXf);
+    ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXi);
+
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector2i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector3i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVector4i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXf);
+    ENABLE_SPECIFIC_MATRIX_TYPE(RowVectorXi);
+
     ENABLE_SPECIFIC_MATRIX_TYPE(Vector2d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Vector2f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Vector2i);
     ENABLE_SPECIFIC_MATRIX_TYPE(Vector3d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Vector3f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Vector3i);
     ENABLE_SPECIFIC_MATRIX_TYPE(Vector4d);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Vector4f);
+    ENABLE_SPECIFIC_MATRIX_TYPE(Vector4i);
+    ENABLE_SPECIFIC_MATRIX_TYPE(VectorXd);
+    ENABLE_SPECIFIC_MATRIX_TYPE(VectorXf);
+    ENABLE_SPECIFIC_MATRIX_TYPE(VectorXi);
   }
 
 } // namespace eigenpy
-- 
GitLab