ocra-recipes
Doxygen documentation for the ocra-recipes repository
MathTypes.h
Go to the documentation of this file.
1 
12 #ifndef OCRA_UTIL_MATH_TYPES_H
13 #define OCRA_UTIL_MATH_TYPES_H
14 
15 #include <Eigen/Dense>
16 namespace ocra{using namespace Eigen;}
17 
18 #include <cmath>
19 
25 namespace ocra
26 {
27  typedef double real;
28 
29  typedef Eigen::DenseBase<MatrixXd>::ConstRowXpr MatrixXdRow;
30 
31 #define OCRA_STATIC_ASSERT_VECTOR_OR_DYNAMIC_MATRIX(TYPE) \
32  OCRA_STATIC_ASSERT(TYPE::IsVectorAtCompileTime || \
33  (TYPE::RowsAtCompileTime==Eigen::Dynamic && TYPE::ColsAtCompileTime==Eigen::Dynamic), \
34  TYPE_MUST_BE_A_VECTOR_OR_A_DYNAMIC_MATRIX)
35 
36  typedef Eigen::Matrix<double,6,1> Vector6d;
37  typedef Eigen::Matrix<double,6,6> Matrix6d;
38  typedef Eigen::Matrix<double,3,Eigen::Dynamic> Jacobian3d;
39  typedef Eigen::Matrix<double,6,Eigen::Dynamic> Jacobian6d;
40 
41 
42 #ifndef M_PI
43 # define M_PI 3.14159265358979
44 #endif
45 
46  inline double deg2rad(const double deg) { return deg * M_PI / 180.; }
47  inline double rad2deg(const double rad) { return rad / M_PI * 180.; }
48 }
49 
50 #endif //OCRA_UTIL_MATH_TYPES_H
Eigen::Matrix< double, 3, Eigen::Dynamic > Jacobian3d
Definition: MathTypes.h:38
#define M_PI
Definition: MathTypes.h:43
Eigen::Matrix< double, 6, Eigen::Dynamic > Jacobian6d
Definition: MathTypes.h:39
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: MathTypes.h:37
Optimization-based Robot Controller namespace. a library of classes to write and solve optimization p...
double rad2deg(const double rad)
Definition: MathTypes.h:47
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: MathTypes.h:36
double deg2rad(const double deg)
Definition: MathTypes.h:46
double real
Definition: MathTypes.h:27
Eigen::DenseBase< MatrixXd >::ConstRowXpr MatrixXdRow
Definition: MathTypes.h:29