YARP
Yet Another Robot Platform
Eigen.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * Copyright (C) 2006-2010 RobotCub Consortium
4  * All rights reserved.
5  *
6  * This software may be modified and distributed under the terms of the
7  * BSD-3-Clause license. See the accompanying LICENSE file for details.
8  */
9 
10 #ifndef YARP_EIGEN_EIGEN_H
11 #define YARP_EIGEN_EIGEN_H
12 
13 #include <Eigen/Core>
14 #include <yarp/sig/Matrix.h>
15 #include <yarp/sig/Vector.h>
16 
17 namespace yarp {
18 namespace eigen {
19 
25 inline Eigen::Map<Eigen::VectorXd> toEigen(yarp::sig::Vector & yarpVector)
26 {
27  return Eigen::Map<Eigen::VectorXd>(yarpVector.data(),yarpVector.size());
28 }
29 
35 inline Eigen::Map< Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> > toEigen(yarp::sig::Matrix & yarpMatrix)
36 {
37  return Eigen::Map< Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> >(yarpMatrix.data(),yarpMatrix.rows(),yarpMatrix.cols());
38 }
39 
45 inline Eigen::Map<const Eigen::VectorXd> toEigen(const yarp::sig::Vector & yarpVector)
46 {
47  return Eigen::Map<const Eigen::VectorXd>(yarpVector.data(),yarpVector.size());
48 }
49 
55 inline Eigen::Map<const Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> > toEigen(const yarp::sig::Matrix & yarpMatrix)
56 {
57  return Eigen::Map<const Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> >(yarpMatrix.data(),yarpMatrix.rows(),yarpMatrix.cols());
58 }
59 
60 } // namespace eigen
61 } // namespace yarp
62 
63 #endif // YARP_EIGEN_EIGEN_H
contains the definition of a Matrix type
contains the definition of a Vector type
A class for a Matrix.
Definition: Matrix.h:46
double * data()
Return a pointer to the first element.
Definition: Matrix.h:304
size_t cols() const
Return number of columns.
Definition: Matrix.h:101
size_t rows() const
Return number of rows.
Definition: Matrix.h:95
size_t size() const
Definition: Vector.h:326
T * data()
Return a pointer to the first element of the vector.
Definition: Vector.h:210
Eigen::Map< Eigen::VectorXd > toEigen(yarp::sig::Vector &yarpVector)
Convert a yarp::sig::Vector to a Eigen::Map<Eigen::VectorXd> object.
Definition: Eigen.h:25
The main, catch-all namespace for YARP.
Definition: environment.h:25