pinocchio  3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
motion.hpp
1 //
2 // Copyright (c) 2015-2018 CNRS
3 // Copyright (c) 2015-2016 Wandercraft, 86 rue de Paris 91400 Orsay, France.
4 //
5 
6 #ifndef __pinocchio_spatial_motion_hpp__
7 #define __pinocchio_spatial_motion_hpp__
8 
9 #include "pinocchio/spatial/fwd.hpp"
10 #include "pinocchio/macros.hpp"
11 #include "pinocchio/spatial/se3.hpp"
12 
13 #define MOTION_TYPEDEF_GENERIC(Derived, TYPENAME) \
14  typedef TYPENAME traits<Derived>::Scalar Scalar; \
15  typedef TYPENAME traits<Derived>::Vector3 Vector3; \
16  typedef TYPENAME traits<Derived>::Vector6 Vector6; \
17  typedef TYPENAME traits<Derived>::Matrix4 Matrix4; \
18  typedef TYPENAME traits<Derived>::Matrix6 Matrix6; \
19  typedef TYPENAME traits<Derived>::ToVectorReturnType ToVectorReturnType; \
20  typedef TYPENAME traits<Derived>::ToVectorConstReturnType ToVectorConstReturnType; \
21  typedef TYPENAME traits<Derived>::AngularType AngularType; \
22  typedef TYPENAME traits<Derived>::LinearType LinearType; \
23  typedef TYPENAME traits<Derived>::ConstAngularType ConstAngularType; \
24  typedef TYPENAME traits<Derived>::ConstLinearType ConstLinearType; \
25  typedef TYPENAME traits<Derived>::ActionMatrixType ActionMatrixType; \
26  typedef TYPENAME traits<Derived>::HomogeneousMatrixType HomogeneousMatrixType; \
27  typedef TYPENAME traits<Derived>::MotionPlain MotionPlain; \
28  typedef TYPENAME traits<Derived>::PlainReturnType PlainReturnType; \
29  enum \
30  { \
31  LINEAR = traits<Derived>::LINEAR, \
32  ANGULAR = traits<Derived>::ANGULAR \
33  }
34 
35 #define MOTION_TYPEDEF_TPL(Derived) MOTION_TYPEDEF_GENERIC(Derived, typename)
36 
37 #define MOTION_TYPEDEF(Derived) MOTION_TYPEDEF_GENERIC(Derived, PINOCCHIO_MACRO_EMPTY_ARG)
38 
39 namespace pinocchio
40 {
44  template<typename D, typename MotionDerived>
46  {
47  typedef D ReturnType;
48  };
49 
50 } // namespace pinocchio
51 
52 #include "pinocchio/spatial/motion-base.hpp"
53 #include "pinocchio/spatial/motion-dense.hpp"
54 #include "pinocchio/spatial/motion-tpl.hpp"
55 #include "pinocchio/spatial/motion-ref.hpp"
56 #include "pinocchio/spatial/motion-zero.hpp"
57 
58 #endif // ifndef __pinocchio_spatial_motion_hpp__
Main pinocchio namespace.
Definition: treeview.dox:11
Return type of the ation of a Motion onto an object of type D.
Definition: motion.hpp:46