eigenpy.hpp 1.77 KB
Newer Older
Nicolas Mansard's avatar
Nicolas Mansard committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
 * Copyright 2014, Nicolas Mansard, LAAS-CNRS
 *
 * This file is part of eigenpy.
 * eigenpy is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation, either version 3 of
 * the License, or (at your option) any later version.
 * eigenpy is distributed in the hope that it will be
 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.  You should
 * have received a copy of the GNU Lesser General Public License along
 * with eigenpy.  If not, see <http://www.gnu.org/licenses/>.
 */

17
18
19
20
#ifndef __eigenpy_eigenpy_hpp__
#define __eigenpy_eigenpy_hpp__

#include "eigenpy/fwd.hpp"
21
#include "eigenpy/memory.hpp"
Nicolas Mansard's avatar
Nicolas Mansard committed
22
23
24

namespace eigenpy
{
25
26
27
28
29
30
31
32
33
34
35
36
37
  typedef UnalignedEquivalent<Eigen::MatrixXd>::type MatrixXd_fx;
  typedef UnalignedEquivalent<Eigen::Matrix3d>::type Matrix3d_fx;
  typedef UnalignedEquivalent<Eigen::Matrix4d>::type Matrix4d_fx;
  typedef UnalignedEquivalent<Eigen::VectorXd>::type VectorXd_fx;
  typedef UnalignedEquivalent<Eigen::Vector3d>::type Vector3d_fx;
  typedef UnalignedEquivalent<Eigen::Vector4d>::type Vector4d_fx;

  /* Enable Eigen-Numpy serialization for a set of standard MatrixBase instance. */
  void enableEigenPy();

  /* Enable the Eigen--Numpy serialization for the templated MatrixBase class.
   * The second template argument is used for inheritance of Eigen classes. If
   * using a native Eigen::MatrixBase, simply repeat the same arg twice. */
38
  template<typename MatType,typename EigenEquivalentType>
Nicolas Mansard's avatar
Nicolas Mansard committed
39
40
  void enableEigenPySpecific();

41
} // namespace eigenpy
Nicolas Mansard's avatar
Nicolas Mansard committed
42

43
#include "eigenpy/details.hpp"
Nicolas Mansard's avatar
Nicolas Mansard committed
44

45
#endif // ifndef __eigenpy_eigenpy_hpp__
Nicolas Mansard's avatar
Nicolas Mansard committed
46