Line |
Branch |
Exec |
Source |
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) ar & make_nvp(#field_name, data.field_name) |
18 |
|
|
|
19 |
|
|
namespace boost |
20 |
|
|
{ |
21 |
|
|
namespace serialization |
22 |
|
|
{ |
23 |
|
|
template< |
24 |
|
|
class Archive, |
25 |
|
|
typename Scalar, |
26 |
|
|
int Options, |
27 |
|
|
template<typename, int> |
28 |
|
|
class JointCollectionTpl> |
29 |
|
✗ |
void serialize( |
30 |
|
|
Archive & ar, |
31 |
|
|
pinocchio::DataTpl<Scalar, Options, JointCollectionTpl> & data, |
32 |
|
|
const unsigned int /*version*/) |
33 |
|
|
{ |
34 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, joints); |
35 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, a); |
36 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oa); |
37 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oa_drift); |
38 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oa_augmented); |
39 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, a_gf); |
40 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oa_gf); |
41 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, v); |
42 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, ov); |
43 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, f); |
44 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, of); |
45 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, of_augmented); |
46 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, h); |
47 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oh); |
48 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oMi); |
49 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, liMi); |
50 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, tau); |
51 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, nle); |
52 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, g); |
53 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oMf); |
54 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Ycrb); |
55 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dYcrb); |
56 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, M); |
57 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Minv); |
58 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, C); |
59 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dHdq); |
60 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dFdq); |
61 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dFdv); |
62 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dFda); |
63 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, SDinv); |
64 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, UDinv); |
65 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, IS); |
66 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, vxI); |
67 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Ivx); |
68 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, B); |
69 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oinertias); |
70 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oYcrb); |
71 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, doYcrb); |
72 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, ddq); |
73 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Yaba); |
74 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oYaba); |
75 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oYaba_contact); |
76 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oL); |
77 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, oK); |
78 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, u); |
79 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Ag); |
80 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dAg); |
81 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, hg); |
82 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dhg); |
83 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Ig); |
84 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Fcrb); |
85 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, lastChild); |
86 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, nvSubtree); |
87 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, start_idx_v_fromRow); |
88 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, end_idx_v_fromRow); |
89 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, U); |
90 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, D); |
91 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Dinv); |
92 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, parents_fromRow); |
93 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, supports_fromRow); |
94 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, nvSubtree_fromRow); |
95 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, J); |
96 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dJ); |
97 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, ddJ); |
98 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, psid); |
99 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, psidd); |
100 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dVdq); |
101 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dAdq); |
102 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dAdv); |
103 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dtau_dq); |
104 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dtau_dv); |
105 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, ddq_dq); |
106 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, ddq_dv); |
107 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dvc_dq); |
108 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dac_dq); |
109 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dac_dv); |
110 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dac_da); |
111 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, osim); |
112 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dlambda_dq); |
113 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dlambda_dv); |
114 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dlambda_dtau); |
115 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dlambda_dx_prox); |
116 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, drhs_prox); |
117 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, iMf); |
118 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, com); |
119 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, vcom); |
120 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, acom); |
121 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, mass); |
122 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, Jcom); |
123 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, kinetic_energy); |
124 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, potential_energy); |
125 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, mechanical_energy); |
126 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, JMinvJt); |
127 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, lambda_c); |
128 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, torque_residual); |
129 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, dq_after); |
130 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, impulse_c); |
131 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, lambda_c_prox); |
132 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, diff_lambda_c); |
133 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, sDUiJt); |
134 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, staticRegressor); |
135 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, bodyRegressor); |
136 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, jointTorqueRegressor); |
137 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, d2tau_dqdq); |
138 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, d2tau_dvdv); |
139 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, d2tau_dqdv); |
140 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, d2tau_dadq); |
141 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, kinematic_hessians); |
142 |
|
✗ |
PINOCCHIO_MAKE_DATA_NVP(ar, data, primal_dual_contact_solution); |
143 |
|
|
} |
144 |
|
|
|
145 |
|
|
} // namespace serialization |
146 |
|
|
} // namespace boost |
147 |
|
|
|
148 |
|
|
#undef PINOCCHIO_MAKE_DATA_NVP |
149 |
|
|
|
150 |
|
|
#endif // ifndef __pinocchio_multibody_data_serialization_hpp__ |
151 |
|
|
|