GCC Code Coverage Report


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