pinocchio  2.7.1
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_motion_hpp__
7 #define __pinocchio_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 LINEAR = traits<Derived>::LINEAR, \
31 ANGULAR = traits<Derived>::ANGULAR \
32 }
33 
34 #define MOTION_TYPEDEF_TPL(Derived) \
35 MOTION_TYPEDEF_GENERIC(Derived,typename)
36 
37 #define MOTION_TYPEDEF(Derived) \
38 MOTION_TYPEDEF_GENERIC(Derived,PINOCCHIO_MACRO_EMPTY_ARG)
39 
40 namespace pinocchio
41 {
45  template<typename D, typename MotionDerived>
46  struct MotionAlgebraAction { typedef D ReturnType; };
47 
48 } // namespace pinocchio
49 
50 #include "pinocchio/spatial/motion-base.hpp"
51 #include "pinocchio/spatial/motion-dense.hpp"
52 #include "pinocchio/spatial/motion-tpl.hpp"
53 #include "pinocchio/spatial/motion-ref.hpp"
54 #include "pinocchio/spatial/motion-zero.hpp"
55 
56 #endif // ifndef __pinocchio_motion_hpp__
pinocchio::MotionAlgebraAction
Return type of the ation of a Motion onto an object of type D.
Definition: motion.hpp:46
pinocchio
Main pinocchio namespace.
Definition: treeview.dox:11