Directory: | ./ |
---|---|
File: | include/pinocchio/serialization/joints-data.hpp |
Date: | 2025-02-12 21:03:38 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 79 | 79 | 100.0% |
Branches: | 24 | 48 | 50.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | // | ||
2 | // Copyright (c) 2019-2020 INRIA | ||
3 | // | ||
4 | |||
5 | #ifndef __pinocchio_serialization_joints_data_hpp__ | ||
6 | #define __pinocchio_serialization_joints_data_hpp__ | ||
7 | |||
8 | namespace pinocchio | ||
9 | { | ||
10 | template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl> | ||
11 | struct Serialize<JointDataCompositeTpl<Scalar, Options, JointCollectionTpl>> | ||
12 | { | ||
13 | template<typename Archive> | ||
14 | static void | ||
15 | 28 | run(Archive & ar, JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> & joint_data) | |
16 | { | ||
17 | using boost::serialization::make_nvp; | ||
18 | |||
19 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("joints", joint_data.joints); |
20 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("iMlast", joint_data.iMlast); |
21 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("pjMi", joint_data.pjMi); |
22 | |||
23 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("S", joint_data.S); |
24 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("M", joint_data.M); |
25 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("v", joint_data.v); |
26 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("c", joint_data.c); |
27 | |||
28 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("U", joint_data.U); |
29 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("Dinv", joint_data.Dinv); |
30 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("UDinv", joint_data.UDinv); |
31 |
1/2✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
|
28 | ar & make_nvp("StU", joint_data.StU); |
32 | 28 | } | |
33 | }; | ||
34 | } // namespace pinocchio | ||
35 | |||
36 | namespace boost | ||
37 | { | ||
38 | namespace serialization | ||
39 | { | ||
40 | |||
41 | // For some older version of gcc, we have to rely on an additional namespace | ||
42 | // to avoid ambiguous call to boost::serialization::serialize | ||
43 | namespace fix | ||
44 | { | ||
45 | template<class Archive, typename Derived> | ||
46 | 1764 | void serialize( | |
47 | Archive & ar, | ||
48 | pinocchio::JointDataBase<Derived> & joint_data, | ||
49 | const unsigned int /*version*/) | ||
50 | { | ||
51 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("joint_q", joint_data.joint_q()); |
52 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("joint_v", joint_data.joint_v()); |
53 | |||
54 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("S", joint_data.S()); |
55 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("M", joint_data.M()); |
56 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("v", joint_data.v()); |
57 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("c", joint_data.c()); |
58 | |||
59 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("U", joint_data.U()); |
60 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("Dinv", joint_data.Dinv()); |
61 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("UDinv", joint_data.UDinv()); |
62 |
1/2✓ Branch 3 taken 882 times.
✗ Branch 4 not taken.
|
1764 | ar & make_nvp("StU", joint_data.StU()); |
63 | 1764 | } | |
64 | } // namespace fix | ||
65 | |||
66 | template<class Archive, typename Scalar, int Options, int axis> | ||
67 | 1088 | void serialize( | |
68 | Archive & ar, | ||
69 | pinocchio::JointDataRevoluteTpl<Scalar, Options, axis> & joint, | ||
70 | const unsigned int version) | ||
71 | { | ||
72 | typedef pinocchio::JointDataRevoluteTpl<Scalar, Options, axis> JointType; | ||
73 | 1088 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
74 | 1088 | } | |
75 | |||
76 | template<class Archive, typename Scalar, int Options, int axis> | ||
77 | 84 | void serialize( | |
78 | Archive & ar, | ||
79 | pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, axis> & joint, | ||
80 | const unsigned int version) | ||
81 | { | ||
82 | typedef pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, axis> JointType; | ||
83 | 84 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
84 | 84 | } | |
85 | |||
86 | template<class Archive, typename Scalar, int Options, int axis> | ||
87 | 84 | void serialize( | |
88 | Archive & ar, | ||
89 | pinocchio::JointDataPrismaticTpl<Scalar, Options, axis> & joint, | ||
90 | const unsigned int version) | ||
91 | { | ||
92 | typedef pinocchio::JointDataPrismaticTpl<Scalar, Options, axis> JointType; | ||
93 | 84 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
94 | 84 | } | |
95 | |||
96 | template<class Archive, typename Scalar, int Options, int axis> | ||
97 | 84 | void serialize( | |
98 | Archive & ar, | ||
99 | pinocchio::JointDataHelicalTpl<Scalar, Options, axis> & joint, | ||
100 | const unsigned int version) | ||
101 | { | ||
102 | typedef pinocchio::JointDataHelicalTpl<Scalar, Options, axis> JointType; | ||
103 | 84 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
104 | 84 | } | |
105 | |||
106 | template<class Archive, typename Scalar, int Options> | ||
107 | 28 | void serialize( | |
108 | Archive & ar, | ||
109 | pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options> & joint, | ||
110 | const unsigned int version) | ||
111 | { | ||
112 | typedef pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options> JointType; | ||
113 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
114 | 28 | } | |
115 | |||
116 | template<class Archive, typename Scalar, int Options> | ||
117 | 60 | void serialize( | |
118 | Archive & ar, | ||
119 | pinocchio::JointDataFreeFlyerTpl<Scalar, Options> & joint, | ||
120 | const unsigned int version) | ||
121 | { | ||
122 | typedef pinocchio::JointDataFreeFlyerTpl<Scalar, Options> JointType; | ||
123 | 60 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
124 | 60 | } | |
125 | |||
126 | template<class Archive, typename Scalar, int Options> | ||
127 | 28 | void serialize( | |
128 | Archive & ar, | ||
129 | pinocchio::JointDataPlanarTpl<Scalar, Options> & joint, | ||
130 | const unsigned int version) | ||
131 | { | ||
132 | typedef pinocchio::JointDataPlanarTpl<Scalar, Options> JointType; | ||
133 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
134 | 28 | } | |
135 | |||
136 | template<class Archive, typename Scalar, int Options> | ||
137 | 28 | void serialize( | |
138 | Archive & ar, | ||
139 | pinocchio::JointDataSphericalTpl<Scalar, Options> & joint, | ||
140 | const unsigned int version) | ||
141 | { | ||
142 | typedef pinocchio::JointDataSphericalTpl<Scalar, Options> JointType; | ||
143 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
144 | 28 | } | |
145 | |||
146 | template<class Archive, typename Scalar, int Options> | ||
147 | 28 | void serialize( | |
148 | Archive & ar, | ||
149 | pinocchio::JointDataSphericalZYXTpl<Scalar, Options> & joint, | ||
150 | const unsigned int version) | ||
151 | { | ||
152 | typedef pinocchio::JointDataSphericalZYXTpl<Scalar, Options> JointType; | ||
153 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
154 | 28 | } | |
155 | |||
156 | template<class Archive, typename Scalar, int Options> | ||
157 | 28 | void serialize( | |
158 | Archive & ar, | ||
159 | pinocchio::JointDataTranslationTpl<Scalar, Options> & joint, | ||
160 | const unsigned int version) | ||
161 | { | ||
162 | typedef pinocchio::JointDataTranslationTpl<Scalar, Options> JointType; | ||
163 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
164 | 28 | } | |
165 | |||
166 | template<class Archive, typename Scalar, int Options> | ||
167 | 28 | void serialize( | |
168 | Archive & ar, | ||
169 | pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options> & joint, | ||
170 | const unsigned int version) | ||
171 | { | ||
172 | typedef pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options> JointType; | ||
173 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
174 | 28 | } | |
175 | |||
176 | template<class Archive, typename Scalar, int Options> | ||
177 | 28 | void serialize( | |
178 | Archive & ar, | ||
179 | pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options> & joint, | ||
180 | const unsigned int version) | ||
181 | { | ||
182 | typedef pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options> JointType; | ||
183 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
184 | 28 | } | |
185 | |||
186 | template<class Archive, typename Scalar, int Options> | ||
187 | 28 | void serialize( | |
188 | Archive & ar, | ||
189 | pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options> & joint, | ||
190 | const unsigned int version) | ||
191 | { | ||
192 | typedef pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options> JointType; | ||
193 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
194 | 28 | } | |
195 | |||
196 | template<class Archive, typename Scalar, int Options> | ||
197 | 28 | void serialize( | |
198 | Archive & ar, | ||
199 | pinocchio::JointDataUniversalTpl<Scalar, Options> & joint, | ||
200 | const unsigned int version) | ||
201 | { | ||
202 | typedef pinocchio::JointDataUniversalTpl<Scalar, Options> JointType; | ||
203 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
204 | 28 | } | |
205 | |||
206 | template< | ||
207 | class Archive, | ||
208 | typename Scalar, | ||
209 | int Options, | ||
210 | template<typename S, int O> class JointCollectionTpl> | ||
211 | 28 | void serialize( | |
212 | Archive & ar, | ||
213 | pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> & joint, | ||
214 | const unsigned int version) | ||
215 | { | ||
216 | typedef pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> JointType; | ||
217 | 28 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
218 | |||
219 | 28 | ::pinocchio::Serialize<JointType>::run(ar, joint); | |
220 | 28 | } | |
221 | |||
222 | template< | ||
223 | class Archive, | ||
224 | typename Scalar, | ||
225 | int Options, | ||
226 | template<typename S, int O> class JointCollectionTpl> | ||
227 | 952 | void serialize( | |
228 | Archive & ar, | ||
229 | pinocchio::JointDataTpl<Scalar, Options, JointCollectionTpl> & joint, | ||
230 | const unsigned int /*version*/) | ||
231 | { | ||
232 | typedef typename JointCollectionTpl<Scalar, Options>::JointDataVariant JointDataVariant; | ||
233 |
1/2✓ Branch 3 taken 476 times.
✗ Branch 4 not taken.
|
952 | ar & make_nvp("base_variant", base_object<JointDataVariant>(joint)); |
234 | 952 | } | |
235 | |||
236 | template<class Archive, typename JointData> | ||
237 | 84 | void serialize( | |
238 | Archive & ar, pinocchio::JointDataMimic<JointData> & joint, const unsigned int version) | ||
239 | { | ||
240 | typedef pinocchio::JointDataMimic<JointData> JointType; | ||
241 | 84 | fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version); | |
242 | |||
243 |
1/2✓ Branch 3 taken 42 times.
✗ Branch 4 not taken.
|
84 | ar & make_nvp("jdata", joint.jdata()); |
244 |
1/2✓ Branch 3 taken 42 times.
✗ Branch 4 not taken.
|
84 | ar & make_nvp("scaling", joint.scaling()); |
245 | 84 | } | |
246 | |||
247 | } // namespace serialization | ||
248 | } // namespace boost | ||
249 | |||
250 | #endif // ifndef __pinocchio_serialization_joints_data_hpp__ | ||
251 |