Skip to content
Snippets Groups Projects
Verified Commit 25b789fd authored by Justin Carpentier's avatar Justin Carpentier
Browse files

core: move EIGENPY_MAKE_TYPEDEFS to a dedicated file

parent 8a2a206b
No related branches found
No related tags found
No related merge requests found
...@@ -113,6 +113,7 @@ SET(${PROJECT_NAME}_HEADERS ...@@ -113,6 +113,7 @@ SET(${PROJECT_NAME}_HEADERS
include/eigenpy/eigen-allocator.hpp include/eigenpy/eigen-allocator.hpp
include/eigenpy/eigen-to-python.hpp include/eigenpy/eigen-to-python.hpp
include/eigenpy/eigen-from-python.hpp include/eigenpy/eigen-from-python.hpp
include/eigenpy/eigen-typedef.hpp
include/eigenpy/numpy-map.hpp include/eigenpy/numpy-map.hpp
include/eigenpy/geometry.hpp include/eigenpy/geometry.hpp
include/eigenpy/geometry-conversion.hpp include/eigenpy/geometry-conversion.hpp
......
//
// Copyright (c) 2020 INRIA
//
#ifndef __eigenpy_eigen_typedef_hpp__
#define __eigenpy_eigen_typedef_hpp__
#include "eigenpy/fwd.hpp"
#define EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, Size, SizeSuffix) \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Size, Size, Options> Matrix##SizeSuffix##TypeSuffix; \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Size, 1> Vector##SizeSuffix##TypeSuffix; \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, 1, Size> RowVector##SizeSuffix##TypeSuffix;
#define EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, Size) \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Size, Eigen::Dynamic, Options> Matrix##Size##X##TypeSuffix; \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Eigen::Dynamic, Size, Options> Matrix##X##Size##TypeSuffix;
#define EIGENPY_MAKE_TYPEDEFS_ALL_SIZES(Type, Options, TypeSuffix) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, 2, 2) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, 3, 3) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, 4, 4) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, Eigen::Dynamic, X) \
EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, 2) \
EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, 3) \
EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, 4)
#endif // ifndef __eigenpy_eigen_typedef_hpp__
...@@ -9,33 +9,11 @@ ...@@ -9,33 +9,11 @@
#include "eigenpy/fwd.hpp" #include "eigenpy/fwd.hpp"
#include "eigenpy/deprecated.hpp" #include "eigenpy/deprecated.hpp"
#include "eigenpy/config.hpp" #include "eigenpy/config.hpp"
#include "eigenpy/eigen-typedef.hpp"
#define ENABLE_SPECIFIC_MATRIX_TYPE(TYPE) \ #define ENABLE_SPECIFIC_MATRIX_TYPE(TYPE) \
::eigenpy::enableEigenPySpecific<TYPE>(); ::eigenpy::enableEigenPySpecific<TYPE>();
#define EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, Size, SizeSuffix) \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Size, Size, Options> Matrix##SizeSuffix##TypeSuffix; \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Size, 1> Vector##SizeSuffix##TypeSuffix; \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, 1, Size> RowVector##SizeSuffix##TypeSuffix;
#define EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, Size) \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Size, Eigen::Dynamic, Options> Matrix##Size##X##TypeSuffix; \
/** \ingroup matrixtypedefs */ \
typedef Eigen::Matrix<Type, Eigen::Dynamic, Size, Options> Matrix##X##Size##TypeSuffix;
#define EIGENPY_MAKE_TYPEDEFS_ALL_SIZES(Type, Options, TypeSuffix) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, 2, 2) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, 3, 3) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, 4, 4) \
EIGENPY_MAKE_TYPEDEFS(Type, Options, TypeSuffix, Eigen::Dynamic, X) \
EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, 2) \
EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, 3) \
EIGENPY_MAKE_FIXED_TYPEDEFS(Type, Options, TypeSuffix, 4)
namespace eigenpy namespace eigenpy
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment