fwd.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2017 CNRS
3 //
4 // This file is part of tsid
5 // tsid is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 // tsid is distributed in the hope that it will be
10 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Lesser Public License for more details. You should have
13 // received a copy of the GNU Lesser General Public License along with
14 // tsid If not, see
15 // <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef __invdyn_math_fwd_hpp__
19 #define __invdyn_math_fwd_hpp__
20 
21 #include <Eigen/Core>
22 
23 #ifdef EIGEN_RUNTIME_NO_MALLOC
24  #define EIGEN_MALLOC_ALLOWED Eigen::internal::set_is_malloc_allowed(true);
25  #define EIGEN_MALLOC_NOT_ALLOWED Eigen::internal::set_is_malloc_allowed(false);
26 #else
27  #define EIGEN_MALLOC_ALLOWED
28  #define EIGEN_MALLOC_NOT_ALLOWED
29 #endif
30 
31 namespace tsid
32 {
33  namespace math
34  {
35 
36  typedef double Scalar;
37  typedef Eigen::Matrix<Scalar,Eigen::Dynamic,1> Vector;
38  typedef Eigen::Matrix<Scalar,Eigen::Dynamic,Eigen::Dynamic> Matrix;
40  typedef Eigen::Matrix<bool,Eigen::Dynamic,1> VectorXb;
41 
42  typedef Eigen::Matrix<Scalar,3,1> Vector3;
43  typedef Eigen::Matrix<Scalar,6,1> Vector6;
44  typedef Eigen::Matrix<Scalar,3,Eigen::Dynamic> Matrix3x;
45 
46  typedef Eigen::Ref<Vector3> RefVector3;
47  typedef const Eigen::Ref<const Vector3> ConstRefVector3;
48 
49  typedef Eigen::Ref<Vector> RefVector;
50  typedef const Eigen::Ref<const Vector> ConstRefVector;
51 
52  typedef Eigen::Ref<Matrix> RefMatrix;
53  typedef const Eigen::Ref<const Matrix> ConstRefMatrix;
54 
55  typedef std::size_t Index;
56 
57  // Forward declaration of constraints
58  class ConstraintBase;
59  class ConstraintEquality;
61  class ConstraintBound;
62 
63  }
64 }
65 
66 #endif // ifndef __invdyn_math_fwd_hpp__
tsid::math::ConstraintEquality
Definition: constraint-equality.hpp:28
tsid::math::VectorXb
Eigen::Matrix< bool, Eigen::Dynamic, 1 > VectorXb
Definition: fwd.hpp:40
tsid::math::ConstraintBase
Abstract class representing a linear equality/inequality constraint. Equality constraints are represe...
Definition: constraint-base.hpp:36
tsid::math::Vector
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
Definition: fwd.hpp:37
tsid::math::ConstraintBound
Definition: constraint-bound.hpp:28
tsid::math::Vector6
Eigen::Matrix< Scalar, 6, 1 > Vector6
Definition: fwd.hpp:43
tsid::math::RefMatrix
Eigen::Ref< Matrix > RefMatrix
Definition: fwd.hpp:52
tsid::math::Matrix
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
Definition: fwd.hpp:38
tsid::math::ConstRefVector3
const typedef Eigen::Ref< const Vector3 > ConstRefVector3
Definition: fwd.hpp:47
tsid::math::Index
std::size_t Index
Definition: fwd.hpp:55
tsid::math::VectorXi
Eigen::VectorXi VectorXi
Definition: fwd.hpp:39
tsid::math::RefVector
Eigen::Ref< Vector > RefVector
Definition: fwd.hpp:49
tsid::math::ConstraintInequality
Definition: constraint-inequality.hpp:28
tsid::math::ConstRefVector
const typedef Eigen::Ref< const Vector > ConstRefVector
Definition: fwd.hpp:50
tsid::math::Scalar
double Scalar
Definition: fwd.hpp:36
tsid
Definition: constraint-bound.hpp:26
tsid::math::Matrix3x
Eigen::Matrix< Scalar, 3, Eigen::Dynamic > Matrix3x
Definition: fwd.hpp:44
tsid::math::ConstRefMatrix
const typedef Eigen::Ref< const Matrix > ConstRefMatrix
Definition: fwd.hpp:53
tsid::math::Vector3
Eigen::Matrix< Scalar, 3, 1 > Vector3
Definition: fwd.hpp:42
tsid::math::RefVector3
Eigen::Ref< Vector3 > RefVector3
Definition: fwd.hpp:46