From 02e96c2d05d6493212140082dd674441fa6495b7 Mon Sep 17 00:00:00 2001 From: jcarpent <jcarpent@laas.fr> Date: Tue, 9 Jan 2018 19:27:38 +0100 Subject: [PATCH] [Core] Register by default both MatType and Ref<MatType> --- src/eigenpy.cpp | 21 +++++++++++---------- src/eigenpy.hpp | 7 +++++-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/eigenpy.cpp b/src/eigenpy.cpp index a7e4642..dae15e9 100644 --- a/src/eigenpy.cpp +++ b/src/eigenpy.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 LAAS-CNRS + * Copyright (c) 2015-2018 LAAS-CNRS * * This file is part of eigenpy. * eigenpy is free software: you can redistribute it and/or @@ -22,17 +22,18 @@ namespace eigenpy /* Enable Eigen-Numpy serialization for a set of standard MatrixBase instance. */ void enableEigenPy() { + using namespace Eigen; Exception::registerException(); - enableEigenPySpecific<Eigen::MatrixXd>(); - enableEigenPySpecific<Eigen::Matrix2d>(); - enableEigenPySpecific<Eigen::Matrix3d>(); - enableEigenPySpecific<Eigen::Matrix4d>(); - - enableEigenPySpecific<Eigen::VectorXd>(); - enableEigenPySpecific<Eigen::Vector2d>(); - enableEigenPySpecific<Eigen::Vector3d>(); - enableEigenPySpecific<Eigen::Vector4d>(); + ENABLE_SPECIFIC_MATRIX_TYPE(MatrixXd); + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix2d); + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix3d); + ENABLE_SPECIFIC_MATRIX_TYPE(Matrix4d); + + ENABLE_SPECIFIC_MATRIX_TYPE(VectorXd); + ENABLE_SPECIFIC_MATRIX_TYPE(Vector2d); + ENABLE_SPECIFIC_MATRIX_TYPE(Vector3d); + ENABLE_SPECIFIC_MATRIX_TYPE(Vector4d); } } // namespace eigenpy diff --git a/src/eigenpy.hpp b/src/eigenpy.hpp index 40cf587..9fcecc7 100644 --- a/src/eigenpy.hpp +++ b/src/eigenpy.hpp @@ -18,15 +18,18 @@ #define __eigenpy_eigenpy_hpp__ #include "eigenpy/fwd.hpp" -#include "eigenpy/memory.hpp" #include "eigenpy/deprecated.hh" +#include "eigenpy/ref.hpp" + +#define ENABLE_SPECIFIC_MATRIX_TYPE(TYPE) \ + enableEigenPySpecific<TYPE>(); \ + enableEigenPySpecific< eigenpy::Ref<TYPE> >(); namespace eigenpy { /* Enable Eigen-Numpy serialization for a set of standard MatrixBase instance. */ void enableEigenPy(); - template<typename MatType> void enableEigenPySpecific(); -- GitLab