5 #ifndef __pinocchio_multibody_data_serialization_hpp__ 6 #define __pinocchio_multibody_data_serialization_hpp__ 8 #include <boost/serialization/variant.hpp> 9 #include <boost/serialization/vector.hpp> 11 #include "pinocchio/serialization/fwd.hpp" 12 #include "pinocchio/serialization/aligned-vector.hpp" 13 #include "pinocchio/serialization/spatial.hpp" 14 #include "pinocchio/serialization/joints.hpp" 15 #include "pinocchio/serialization/frame.hpp" 17 #define PINOCCHIO_MAKE_DATA_NVP(ar,data,field_name) \ 18 ar & make_nvp(#field_name,data.field_name) 22 namespace serialization
24 template<
class Archive,
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
25 void serialize(Archive & ar,
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,oinertias);
61 PINOCCHIO_MAKE_DATA_NVP(ar,data,oYcrb);
62 PINOCCHIO_MAKE_DATA_NVP(ar,data,doYcrb);
63 PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq);
64 PINOCCHIO_MAKE_DATA_NVP(ar,data,Yaba);
65 PINOCCHIO_MAKE_DATA_NVP(ar,data,u);
66 PINOCCHIO_MAKE_DATA_NVP(ar,data,Ag);
67 PINOCCHIO_MAKE_DATA_NVP(ar,data,dAg);
68 PINOCCHIO_MAKE_DATA_NVP(ar,data,hg);
69 PINOCCHIO_MAKE_DATA_NVP(ar,data,dhg);
70 PINOCCHIO_MAKE_DATA_NVP(ar,data,Ig);
71 PINOCCHIO_MAKE_DATA_NVP(ar,data,Fcrb);
72 PINOCCHIO_MAKE_DATA_NVP(ar,data,lastChild);
73 PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree);
74 PINOCCHIO_MAKE_DATA_NVP(ar,data,start_idx_v_fromRow);
75 PINOCCHIO_MAKE_DATA_NVP(ar,data,end_idx_v_fromRow);
76 PINOCCHIO_MAKE_DATA_NVP(ar,data,U);
77 PINOCCHIO_MAKE_DATA_NVP(ar,data,D);
78 PINOCCHIO_MAKE_DATA_NVP(ar,data,Dinv);
79 PINOCCHIO_MAKE_DATA_NVP(ar,data,parents_fromRow);
80 PINOCCHIO_MAKE_DATA_NVP(ar,data,supports_fromRow);
81 PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree_fromRow);
82 PINOCCHIO_MAKE_DATA_NVP(ar,data,J);
83 PINOCCHIO_MAKE_DATA_NVP(ar,data,dJ);
84 PINOCCHIO_MAKE_DATA_NVP(ar,data,dVdq);
85 PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdq);
86 PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdv);
87 PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dq);
88 PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dv);
89 PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dq);
90 PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dv);
91 PINOCCHIO_MAKE_DATA_NVP(ar,data,iMf);
92 PINOCCHIO_MAKE_DATA_NVP(ar,data,com);
93 PINOCCHIO_MAKE_DATA_NVP(ar,data,vcom);
94 PINOCCHIO_MAKE_DATA_NVP(ar,data,acom);
95 PINOCCHIO_MAKE_DATA_NVP(ar,data,mass);
96 PINOCCHIO_MAKE_DATA_NVP(ar,data,Jcom);
97 PINOCCHIO_MAKE_DATA_NVP(ar,data,kinetic_energy);
98 PINOCCHIO_MAKE_DATA_NVP(ar,data,potential_energy);
99 PINOCCHIO_MAKE_DATA_NVP(ar,data,JMinvJt);
100 PINOCCHIO_MAKE_DATA_NVP(ar,data,lambda_c);
101 PINOCCHIO_MAKE_DATA_NVP(ar,data,torque_residual);
102 PINOCCHIO_MAKE_DATA_NVP(ar,data,dq_after);
103 PINOCCHIO_MAKE_DATA_NVP(ar,data,impulse_c);
104 PINOCCHIO_MAKE_DATA_NVP(ar,data,staticRegressor);
105 PINOCCHIO_MAKE_DATA_NVP(ar,data,bodyRegressor);
106 PINOCCHIO_MAKE_DATA_NVP(ar,data,jointTorqueRegressor);
107 PINOCCHIO_MAKE_DATA_NVP(ar,data,kinematic_hessians);
113 #undef PINOCCHIO_MAKE_DATA_NVP 115 #endif // ifndef __pinocchio_multibody_data_serialization_hpp__