GCC Code Coverage Report


Directory: ./
File: include/pinocchio/serialization/joints-data.hpp
Date: 2025-04-30 16:14:33
Exec Total Coverage
Lines: 85 85 100.0%
Branches: 28 56 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 1624 void serialize(
47 Archive & ar,
48 pinocchio::JointDataBase<Derived> & joint_data,
49 const unsigned int /*version*/)
50 {
51
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("joint_q", joint_data.joint_q());
52
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("joint_v", joint_data.joint_v());
53
54
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("S", joint_data.S());
55
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("M", joint_data.M());
56
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("v", joint_data.v());
57
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("c", joint_data.c());
58
59
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("U", joint_data.U());
60
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("Dinv", joint_data.Dinv());
61
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("UDinv", joint_data.UDinv());
62
1/2
✓ Branch 3 taken 812 times.
✗ Branch 4 not taken.
1624 ar & make_nvp("StU", joint_data.StU());
63 1624 }
64
65 template<
66 class Archive,
67 typename Scalar,
68 int Options,
69 template<typename, int> class JointCollection>
70 32 void serialize(
71 Archive & ar,
72 pinocchio::JointDataBase<pinocchio::JointDataMimicTpl<Scalar, Options, JointCollection>> &
73 joint_data,
74 const unsigned int /*version*/)
75 {
76
1/2
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
32 ar & make_nvp("joint_q", joint_data.joint_q());
77
1/2
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
32 ar & make_nvp("joint_v", joint_data.joint_v());
78
79
1/2
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
32 ar & make_nvp("S", joint_data.S());
80 32 }
81
82 } // namespace fix
83
84 template<class Archive, typename Scalar, int Options, int axis>
85 1032 void serialize(
86 Archive & ar,
87 pinocchio::JointDataRevoluteTpl<Scalar, Options, axis> & joint,
88 const unsigned int version)
89 {
90 typedef pinocchio::JointDataRevoluteTpl<Scalar, Options, axis> JointType;
91 1032 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
92 1032 }
93
94 template<class Archive, typename Scalar, int Options, int axis>
95 84 void serialize(
96 Archive & ar,
97 pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, axis> & joint,
98 const unsigned int version)
99 {
100 typedef pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, axis> JointType;
101 84 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
102 84 }
103
104 template<class Archive, typename Scalar, int Options, int axis>
105 84 void serialize(
106 Archive & ar,
107 pinocchio::JointDataPrismaticTpl<Scalar, Options, axis> & joint,
108 const unsigned int version)
109 {
110 typedef pinocchio::JointDataPrismaticTpl<Scalar, Options, axis> JointType;
111 84 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
112 84 }
113
114 template<class Archive, typename Scalar, int Options, int axis>
115 84 void serialize(
116 Archive & ar,
117 pinocchio::JointDataHelicalTpl<Scalar, Options, axis> & joint,
118 const unsigned int version)
119 {
120 typedef pinocchio::JointDataHelicalTpl<Scalar, Options, axis> JointType;
121 84 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
122 84 }
123
124 template<class Archive, typename Scalar, int Options>
125 28 void serialize(
126 Archive & ar,
127 pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options> & joint,
128 const unsigned int version)
129 {
130 typedef pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options> JointType;
131 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
132 28 }
133
134 template<class Archive, typename Scalar, int Options>
135 60 void serialize(
136 Archive & ar,
137 pinocchio::JointDataFreeFlyerTpl<Scalar, Options> & joint,
138 const unsigned int version)
139 {
140 typedef pinocchio::JointDataFreeFlyerTpl<Scalar, Options> JointType;
141 60 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
142 60 }
143
144 template<class Archive, typename Scalar, int Options>
145 28 void serialize(
146 Archive & ar,
147 pinocchio::JointDataPlanarTpl<Scalar, Options> & joint,
148 const unsigned int version)
149 {
150 typedef pinocchio::JointDataPlanarTpl<Scalar, Options> JointType;
151 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
152 28 }
153
154 template<class Archive, typename Scalar, int Options>
155 28 void serialize(
156 Archive & ar,
157 pinocchio::JointDataSphericalTpl<Scalar, Options> & joint,
158 const unsigned int version)
159 {
160 typedef pinocchio::JointDataSphericalTpl<Scalar, Options> JointType;
161 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
162 28 }
163
164 template<class Archive, typename Scalar, int Options>
165 28 void serialize(
166 Archive & ar,
167 pinocchio::JointDataSphericalZYXTpl<Scalar, Options> & joint,
168 const unsigned int version)
169 {
170 typedef pinocchio::JointDataSphericalZYXTpl<Scalar, Options> JointType;
171 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
172 28 }
173
174 template<class Archive, typename Scalar, int Options>
175 28 void serialize(
176 Archive & ar,
177 pinocchio::JointDataTranslationTpl<Scalar, Options> & joint,
178 const unsigned int version)
179 {
180 typedef pinocchio::JointDataTranslationTpl<Scalar, Options> JointType;
181 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
182 28 }
183
184 template<class Archive, typename Scalar, int Options>
185 28 void serialize(
186 Archive & ar,
187 pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options> & joint,
188 const unsigned int version)
189 {
190 typedef pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options> JointType;
191 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
192 28 }
193
194 template<class Archive, typename Scalar, int Options>
195 28 void serialize(
196 Archive & ar,
197 pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options> & joint,
198 const unsigned int version)
199 {
200 typedef pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options> JointType;
201 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
202 28 }
203
204 template<class Archive, typename Scalar, int Options>
205 28 void serialize(
206 Archive & ar,
207 pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options> & joint,
208 const unsigned int version)
209 {
210 typedef pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options> JointType;
211 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
212 28 }
213
214 template<class Archive, typename Scalar, int Options>
215 28 void serialize(
216 Archive & ar,
217 pinocchio::JointDataUniversalTpl<Scalar, Options> & joint,
218 const unsigned int version)
219 {
220 typedef pinocchio::JointDataUniversalTpl<Scalar, Options> JointType;
221 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
222 28 }
223
224 template<
225 class Archive,
226 typename Scalar,
227 int Options,
228 template<typename S, int O> class JointCollectionTpl>
229 28 void serialize(
230 Archive & ar,
231 pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> & joint,
232 const unsigned int version)
233 {
234 typedef pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> JointType;
235 28 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
236 28 ::pinocchio::Serialize<JointType>::run(ar, joint);
237 28 }
238
239 template<
240 class Archive,
241 typename Scalar,
242 int Options,
243 template<typename S, int O> class JointCollectionTpl>
244 984 void serialize(
245 Archive & ar,
246 pinocchio::JointDataTpl<Scalar, Options, JointCollectionTpl> & joint,
247 const unsigned int /*version*/)
248 {
249 typedef typename JointCollectionTpl<Scalar, Options>::JointDataVariant JointDataVariant;
250
1/2
✓ Branch 3 taken 492 times.
✗ Branch 4 not taken.
984 ar & make_nvp("base_variant", base_object<JointDataVariant>(joint));
251 984 }
252
253 template<
254 class Archive,
255 typename Scalar,
256 int Options,
257 template<typename S, int O> class JointCollectionTpl>
258 32 void serialize(
259 Archive & ar,
260 pinocchio::JointDataMimicTpl<Scalar, Options, JointCollectionTpl> & joint,
261 const unsigned int version)
262 {
263
1/2
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
32 ar & make_nvp("jdata", joint.jdata());
264
265
1/2
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
32 ar & make_nvp("m_q_transform", joint.q_transformed());
266
1/2
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
32 ar & make_nvp("m_v_transform", joint.v_transformed());
267
268 typedef pinocchio::JointDataMimicTpl<Scalar, Options, JointCollectionTpl> JointType;
269 32 fix::serialize(ar, static_cast<pinocchio::JointDataBase<JointType> &>(joint), version);
270 32 }
271
272 } // namespace serialization
273 } // namespace boost
274
275 #endif // ifndef __pinocchio_serialization_joints_data_hpp__
276