GCC Code Coverage Report


Directory: ./
File: include/multicontact-api/serialization/spatial.hpp
Date: 2025-03-10 16:17:01
Exec Total Coverage
Lines: 11 11 100.0%
Branches: 4 8 50.0%

Line Branch Exec Source
1 // Copyright (c) 2015-2018, CNRS
2 // Authors: Justin Carpentier <jcarpent@laas.fr>
3
4 #ifndef __multicontact_api_serialization_spatial_hpp__
5 #define __multicontact_api_serialization_spatial_hpp__
6
7 #include <boost/serialization/split_free.hpp>
8 #include <boost/serialization/vector.hpp>
9 #include <pinocchio/spatial/force.hpp>
10 #include <pinocchio/spatial/se3.hpp>
11
12 namespace boost {
13
14 namespace serialization {
15
16 template <class Archive, typename _Scalar, int _Options>
17 330 void save(Archive& ar, const pinocchio::SE3Tpl<_Scalar, _Options>& M,
18 const unsigned int /*version*/) {
19
1/2
✓ Branch 5 taken 165 times.
✗ Branch 6 not taken.
330 ar& make_nvp("translation", make_array(M.translation().data(), 3));
20
1/2
✓ Branch 5 taken 165 times.
✗ Branch 6 not taken.
330 ar& make_nvp("rotation", make_array(M.rotation().data(), 9));
21 330 }
22
23 template <class Archive, typename _Scalar, int _Options>
24 330 void load(Archive& ar, pinocchio::SE3Tpl<_Scalar, _Options>& M,
25 const unsigned int /*version*/) {
26
1/2
✓ Branch 5 taken 165 times.
✗ Branch 6 not taken.
330 ar >> make_nvp("translation", make_array(M.translation().data(), 3));
27
1/2
✓ Branch 5 taken 165 times.
✗ Branch 6 not taken.
330 ar >> make_nvp("rotation", make_array(M.rotation().data(), 9));
28 330 }
29
30 template <class Archive, typename _Scalar, int _Options>
31 660 void serialize(Archive& ar, pinocchio::SE3Tpl<_Scalar, _Options>& M,
32 const unsigned int version) {
33 660 split_free(ar, M, version);
34 660 }
35
36 template <class Archive, typename _Scalar, int _Options>
37 void save(Archive& ar, const pinocchio::ForceTpl<_Scalar, _Options>& f,
38 const unsigned int /*version*/) {
39 ar& make_nvp("linear", make_array(f.linear().data(), 3));
40 ar& make_nvp("angular", make_array(f.angular().data(), 3));
41 }
42
43 template <class Archive, typename _Scalar, int _Options>
44 void load(Archive& ar, pinocchio::ForceTpl<_Scalar, _Options>& f,
45 const unsigned int /*version*/) {
46 ar >> make_nvp("linear", make_array(f.linear().data(), 3));
47 ar >> make_nvp("angular", make_array(f.angular().data(), 3));
48 }
49
50 template <class Archive, typename _Scalar, int _Options>
51 void serialize(Archive& ar, pinocchio::ForceTpl<_Scalar, _Options>& f,
52 const unsigned int version) {
53 split_free(ar, f, version);
54 }
55
56 } // namespace serialization
57
58 } // namespace boost
59
60 #endif // ifndef __multicontact_api_serialization_spatial_hpp__
61