pinocchio  2.4.4
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
se3.hpp
1 //
2 // Copyright (c) 2015-2018 CNRS
3 //
4 
5 #ifndef __pinocchio_se3_hpp__
6 #define __pinocchio_se3_hpp__
7 
8 #include "pinocchio/spatial/fwd.hpp"
9 #include "pinocchio/macros.hpp"
10 
11 #define PINOCCHIO_SE3_TYPEDEF_GENERIC(Derived,TYPENAME) \
12 typedef TYPENAME traits<Derived>::Scalar Scalar; \
13 typedef TYPENAME traits<Derived>::AngularType AngularType; \
14 typedef TYPENAME traits<Derived>::LinearType LinearType; \
15 typedef TYPENAME traits<Derived>::AngularRef AngularRef; \
16 typedef TYPENAME traits<Derived>::LinearRef LinearRef; \
17 typedef TYPENAME traits<Derived>::ConstAngularRef ConstAngularRef; \
18 typedef TYPENAME traits<Derived>::ConstLinearRef ConstLinearRef; \
19 typedef TYPENAME traits<Derived>::ActionMatrixType ActionMatrixType; \
20 typedef TYPENAME traits<Derived>::HomogeneousMatrixType HomogeneousMatrixType; \
21 typedef TYPENAME traits<Derived>::PlainType PlainType; \
22 enum { \
23  Options = traits<Derived>::Options, \
24  LINEAR = traits<Derived>::LINEAR, \
25  ANGULAR = traits<Derived>::ANGULAR \
26 }
27 
28 #define PINOCCHIO_SE3_TYPEDEF_TPL(Derived) \
29 PINOCCHIO_SE3_TYPEDEF_GENERIC(Derived,typename)
30 
31 #define PINOCCHIO_SE3_TYPEDEF(Derived) \
32 PINOCCHIO_SE3_TYPEDEF_GENERIC(Derived,PINOCCHIO_MACRO_EMPTY_ARG)
33 
34 namespace pinocchio
35 {
36 
37  /* Type returned by the "se3Action" and "se3ActionInverse" functions. */
38  template<typename D>
39  struct SE3GroupAction { typedef D ReturnType; };
40 
41 } // namespace pinocchio
42 
43 #include "pinocchio/spatial/se3-base.hpp"
44 #include "pinocchio/spatial/se3-tpl.hpp"
45 
46 #endif // ifndef __pinocchio_se3_hpp__
Main pinocchio namespace.
Definition: treeview.dox:24