pinocchio  3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
se3.hpp
1 //
2 // Copyright (c) 2015-2020 CNRS
3 //
4 
5 #ifndef __pinocchio_spatial_se3_hpp__
6 #define __pinocchio_spatial_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  { \
24  Options = traits<Derived>::Options, \
25  LINEAR = traits<Derived>::LINEAR, \
26  ANGULAR = traits<Derived>::ANGULAR \
27  }
28 
29 #define PINOCCHIO_SE3_TYPEDEF_TPL(Derived) 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>
40  {
41  typedef D ReturnType;
42  };
43 
44 } // namespace pinocchio
45 
46 #include "pinocchio/spatial/se3-base.hpp"
47 #include "pinocchio/spatial/se3-tpl.hpp"
48 
49 #endif // ifndef __pinocchio_spatial_se3_hpp__
Main pinocchio namespace.
Definition: treeview.dox:11