Loading...
Searching...
No Matches
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
31namespace 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;
39 typedef Eigen::VectorXi VectorXi;
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;
61 class ConstraintBound;
62
63 }
64}
65
66#endif // ifndef __invdyn_math_fwd_hpp__
Abstract class representing a linear equality/inequality constraint. Equality constraints are represe...
Definition: constraint-base.hpp:37
Definition: constraint-bound.hpp:29
Definition: constraint-equality.hpp:29
Definition: constraint-inequality.hpp:29
Eigen::Matrix< Scalar, 3, Eigen::Dynamic > Matrix3x
Definition: fwd.hpp:44
Eigen::Ref< Matrix > RefMatrix
Definition: fwd.hpp:52
std::size_t Index
Definition: fwd.hpp:55
Eigen::Matrix< Scalar, 3, 1 > Vector3
Definition: fwd.hpp:42
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
Definition: fwd.hpp:37
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
Definition: fwd.hpp:38
const Eigen::Ref< const Matrix > ConstRefMatrix
Definition: fwd.hpp:53
const Eigen::Ref< const Vector3 > ConstRefVector3
Definition: fwd.hpp:47
const Eigen::Ref< const Vector > ConstRefVector
Definition: fwd.hpp:50
Eigen::VectorXi VectorXi
Definition: fwd.hpp:39
Eigen::Matrix< bool, Eigen::Dynamic, 1 > VectorXb
Definition: fwd.hpp:40
Eigen::Matrix< Scalar, 6, 1 > Vector6
Definition: fwd.hpp:43
double Scalar
Definition: fwd.hpp:36
Eigen::Ref< Vector > RefVector
Definition: fwd.hpp:49
Eigen::Ref< Vector3 > RefVector3
Definition: fwd.hpp:46
Definition: constraint-bound.hpp:27