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/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" |
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 |
|
28 |
void serialize(Archive & ar, |
26 |
|
|
pinocchio::DataTpl<Scalar,Options,JointCollectionTpl> & data, |
27 |
|
|
const unsigned int /*version*/) |
28 |
|
|
{ |
29 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,joints); |
30 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,a); |
31 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oa); |
32 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,a_gf); |
33 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oa_gf); |
34 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,v); |
35 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,ov); |
36 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,f); |
37 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,of); |
38 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,h); |
39 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oh); |
40 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oMi); |
41 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,liMi); |
42 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,tau); |
43 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,nle); |
44 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,g); |
45 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oMf); |
46 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ycrb); |
47 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dYcrb); |
48 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,M); |
49 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Minv); |
50 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,C); |
51 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dHdq); |
52 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdq); |
53 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdv); |
54 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dFda); |
55 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,SDinv); |
56 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,UDinv); |
57 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,IS); |
58 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,vxI); |
59 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ivx); |
60 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,B); |
61 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oinertias); |
62 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,oYcrb); |
63 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,doYcrb); |
64 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq); |
65 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Yaba); |
66 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,u); |
67 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ag); |
68 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dAg); |
69 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,hg); |
70 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dhg); |
71 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ig); |
72 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Fcrb); |
73 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,lastChild); |
74 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree); |
75 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,start_idx_v_fromRow); |
76 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,end_idx_v_fromRow); |
77 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,U); |
78 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,D); |
79 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Dinv); |
80 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,parents_fromRow); |
81 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,supports_fromRow); |
82 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree_fromRow); |
83 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,J); |
84 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dJ); |
85 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddJ); |
86 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,psid); |
87 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,psidd); |
88 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dVdq); |
89 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdq); |
90 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdv); |
91 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dq); |
92 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dv); |
93 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dq); |
94 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dv); |
95 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,iMf); |
96 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,com); |
97 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,vcom); |
98 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,acom); |
99 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,mass); |
100 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,Jcom); |
101 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,kinetic_energy); |
102 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,potential_energy); |
103 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,JMinvJt); |
104 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,lambda_c); |
105 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,torque_residual); |
106 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,dq_after); |
107 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,impulse_c); |
108 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,staticRegressor); |
109 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,bodyRegressor); |
110 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,jointTorqueRegressor); |
111 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dqdq); |
112 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dvdv); |
113 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dqdv); |
114 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dadq); |
115 |
✓✗ |
28 |
PINOCCHIO_MAKE_DATA_NVP(ar,data,kinematic_hessians); |
116 |
|
28 |
} |
117 |
|
|
|
118 |
|
|
} // namespace serialization |
119 |
|
|
} // namespace boost |
120 |
|
|
|
121 |
|
|
#undef PINOCCHIO_MAKE_DATA_NVP |
122 |
|
|
|
123 |
|
|
#endif // ifndef __pinocchio_multibody_data_serialization_hpp__ |
124 |
|
|
|