pinocchio  2.4.5
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
data.hpp
1 //
2 // Copyright (c) 2019 INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_data_serialization_hpp__
6 #define __pinocchio_multibody_data_serialization_hpp__
7 
8 #include <boost/serialization/variant.hpp>
9 #include <boost/serialization/vector.hpp>
10 
11 #include "pinocchio/serialization/aligned-vector.hpp"
12 #include "pinocchio/serialization/spatial.hpp"
13 #include "pinocchio/serialization/eigen.hpp"
14 #include "pinocchio/serialization/joints.hpp"
15 #include "pinocchio/serialization/frame.hpp"
16 
17 #define PINOCCHIO_MAKE_DATA_NVP(ar,data,field_name) \
18  ar & make_nvp(#field_name,data.field_name)
19 
20 namespace boost
21 {
22  namespace serialization
23  {
24  template<class Archive, typename Scalar, int Options, template<typename,int> class JointCollectionTpl>
25  void serialize(Archive & ar,
27  const unsigned int /*version*/)
28  {
29  PINOCCHIO_MAKE_DATA_NVP(ar,data,joints);
30  PINOCCHIO_MAKE_DATA_NVP(ar,data,a);
31  PINOCCHIO_MAKE_DATA_NVP(ar,data,oa);
32  PINOCCHIO_MAKE_DATA_NVP(ar,data,a_gf);
33  PINOCCHIO_MAKE_DATA_NVP(ar,data,oa_gf);
34  PINOCCHIO_MAKE_DATA_NVP(ar,data,v);
35  PINOCCHIO_MAKE_DATA_NVP(ar,data,ov);
36  PINOCCHIO_MAKE_DATA_NVP(ar,data,f);
37  PINOCCHIO_MAKE_DATA_NVP(ar,data,of);
38  PINOCCHIO_MAKE_DATA_NVP(ar,data,h);
39  PINOCCHIO_MAKE_DATA_NVP(ar,data,oh);
40  PINOCCHIO_MAKE_DATA_NVP(ar,data,oMi);
41  PINOCCHIO_MAKE_DATA_NVP(ar,data,liMi);
42  PINOCCHIO_MAKE_DATA_NVP(ar,data,tau);
43  PINOCCHIO_MAKE_DATA_NVP(ar,data,nle);
44  PINOCCHIO_MAKE_DATA_NVP(ar,data,g);
45  PINOCCHIO_MAKE_DATA_NVP(ar,data,oMf);
46  PINOCCHIO_MAKE_DATA_NVP(ar,data,Ycrb);
47  PINOCCHIO_MAKE_DATA_NVP(ar,data,dYcrb);
48  PINOCCHIO_MAKE_DATA_NVP(ar,data,M);
49  PINOCCHIO_MAKE_DATA_NVP(ar,data,Minv);
50  PINOCCHIO_MAKE_DATA_NVP(ar,data,C);
51  PINOCCHIO_MAKE_DATA_NVP(ar,data,dHdq);
52  PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdq);
53  PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdv);
54  PINOCCHIO_MAKE_DATA_NVP(ar,data,dFda);
55  PINOCCHIO_MAKE_DATA_NVP(ar,data,SDinv);
56  PINOCCHIO_MAKE_DATA_NVP(ar,data,UDinv);
57  PINOCCHIO_MAKE_DATA_NVP(ar,data,IS);
58  PINOCCHIO_MAKE_DATA_NVP(ar,data,vxI);
59  PINOCCHIO_MAKE_DATA_NVP(ar,data,Ivx);
60  PINOCCHIO_MAKE_DATA_NVP(ar,data,oYcrb);
61  PINOCCHIO_MAKE_DATA_NVP(ar,data,doYcrb);
62  PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq);
63  PINOCCHIO_MAKE_DATA_NVP(ar,data,Yaba);
64  PINOCCHIO_MAKE_DATA_NVP(ar,data,u);
65  PINOCCHIO_MAKE_DATA_NVP(ar,data,Ag);
66  PINOCCHIO_MAKE_DATA_NVP(ar,data,dAg);
67  PINOCCHIO_MAKE_DATA_NVP(ar,data,hg);
68  PINOCCHIO_MAKE_DATA_NVP(ar,data,dhg);
69  PINOCCHIO_MAKE_DATA_NVP(ar,data,Ig);
70  PINOCCHIO_MAKE_DATA_NVP(ar,data,Fcrb);
71  PINOCCHIO_MAKE_DATA_NVP(ar,data,lastChild);
72  PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree);
73  PINOCCHIO_MAKE_DATA_NVP(ar,data,start_idx_v_fromRow);
74  PINOCCHIO_MAKE_DATA_NVP(ar,data,end_idx_v_fromRow);
75  PINOCCHIO_MAKE_DATA_NVP(ar,data,U);
76  PINOCCHIO_MAKE_DATA_NVP(ar,data,D);
77  PINOCCHIO_MAKE_DATA_NVP(ar,data,Dinv);
78  PINOCCHIO_MAKE_DATA_NVP(ar,data,parents_fromRow);
79  PINOCCHIO_MAKE_DATA_NVP(ar,data,supports_fromRow);
80  PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree_fromRow);
81  PINOCCHIO_MAKE_DATA_NVP(ar,data,J);
82  PINOCCHIO_MAKE_DATA_NVP(ar,data,dJ);
83  PINOCCHIO_MAKE_DATA_NVP(ar,data,dVdq);
84  PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdq);
85  PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdv);
86  PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dq);
87  PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dv);
88  PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dq);
89  PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dv);
90  PINOCCHIO_MAKE_DATA_NVP(ar,data,iMf);
91  PINOCCHIO_MAKE_DATA_NVP(ar,data,com);
92  PINOCCHIO_MAKE_DATA_NVP(ar,data,vcom);
93  PINOCCHIO_MAKE_DATA_NVP(ar,data,acom);
94  PINOCCHIO_MAKE_DATA_NVP(ar,data,mass);
95  PINOCCHIO_MAKE_DATA_NVP(ar,data,Jcom);
96  PINOCCHIO_MAKE_DATA_NVP(ar,data,kinetic_energy);
97  PINOCCHIO_MAKE_DATA_NVP(ar,data,potential_energy);
98  PINOCCHIO_MAKE_DATA_NVP(ar,data,JMinvJt);
99  PINOCCHIO_MAKE_DATA_NVP(ar,data,lambda_c);
100  PINOCCHIO_MAKE_DATA_NVP(ar,data,torque_residual);
101  PINOCCHIO_MAKE_DATA_NVP(ar,data,dq_after);
102  PINOCCHIO_MAKE_DATA_NVP(ar,data,impulse_c);
103  PINOCCHIO_MAKE_DATA_NVP(ar,data,staticRegressor);
104  PINOCCHIO_MAKE_DATA_NVP(ar,data,bodyRegressor);
105  PINOCCHIO_MAKE_DATA_NVP(ar,data,jointTorqueRegressor);
106  PINOCCHIO_MAKE_DATA_NVP(ar,data,kinematic_hessians);
107  }
108 
109  } // namespace serialization
110 } // namespace boost
111 
112 #undef PINOCCHIO_MAKE_DATA_NVP
113 
114 #endif // ifndef __pinocchio_multibody_data_serialization_hpp__
115 
Definition: casadi.hpp:13