YARP
Yet Another Robot Platform
Eigen.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef YARP_EIGEN_EIGEN_H
8 #define YARP_EIGEN_EIGEN_H
9 
10 #include <Eigen/Core>
11 #include <yarp/sig/Matrix.h>
12 #include <yarp/sig/Vector.h>
13 
14 namespace yarp {
15 namespace eigen {
16 
22 inline Eigen::Map<Eigen::VectorXd> toEigen(yarp::sig::Vector & yarpVector)
23 {
24  return Eigen::Map<Eigen::VectorXd>(yarpVector.data(),yarpVector.size());
25 }
26 
32 inline Eigen::Map< Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> > toEigen(yarp::sig::Matrix & yarpMatrix)
33 {
34  return Eigen::Map< Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> >(yarpMatrix.data(),yarpMatrix.rows(),yarpMatrix.cols());
35 }
36 
42 inline Eigen::Map<const Eigen::VectorXd> toEigen(const yarp::sig::Vector & yarpVector)
43 {
44  return Eigen::Map<const Eigen::VectorXd>(yarpVector.data(),yarpVector.size());
45 }
46 
52 inline Eigen::Map<const Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> > toEigen(const yarp::sig::Matrix & yarpMatrix)
53 {
54  return Eigen::Map<const Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> >(yarpMatrix.data(),yarpMatrix.rows(),yarpMatrix.cols());
55 }
56 
57 } // namespace eigen
58 } // namespace yarp
59 
60 #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:43
double * data()
Return a pointer to the first element.
Definition: Matrix.h:301
size_t cols() const
Return number of columns.
Definition: Matrix.h:98
size_t rows() const
Return number of rows.
Definition: Matrix.h:92
size_t size() const
Definition: Vector.h:323
T * data()
Return a pointer to the first element of the vector.
Definition: Vector.h:207
Eigen::Map< Eigen::VectorXd > toEigen(yarp::sig::Vector &yarpVector)
Convert a yarp::sig::Vector to a Eigen::Map<Eigen::VectorXd> object.
Definition: Eigen.h:22
The main, catch-all namespace for YARP.
Definition: dirs.h:16