GCC Code Coverage Report


Directory: ./
File: include/pinocchio/serialization/inertia.hpp
Date: 2024-08-27 18:20:05
Exec Total Coverage
Lines: 0 11 0.0%
Branches: 0 19 0.0%

Line Branch Exec Source
1 //
2 // Copyright (c) 2019 INRIA
3 //
4
5 #ifndef __pinocchio_serialization_inertia_hpp__
6 #define __pinocchio_serialization_inertia_hpp__
7
8 #include "pinocchio/spatial/inertia.hpp"
9 #include "pinocchio/serialization/fwd.hpp"
10 #include "pinocchio/serialization/symmetric3.hpp"
11
12 #include <boost/serialization/split_free.hpp>
13 #include <boost/serialization/vector.hpp>
14
15 namespace boost
16 {
17 namespace serialization
18 {
19
20 template<class Archive, typename Scalar, int Options>
21 void save(
22 Archive & ar,
23 const pinocchio::InertiaTpl<Scalar, Options> & I,
24 const unsigned int /*version*/)
25 {
26 const Scalar mass = I.mass();
27 ar & make_nvp("mass", mass);
28 ar & make_nvp("lever", make_array(I.lever().data(), 3));
29 ar & make_nvp("inertia", I.inertia());
30 }
31
32 template<class Archive, typename Scalar, int Options>
33 void
34 load(Archive & ar, pinocchio::InertiaTpl<Scalar, Options> & I, const unsigned int /*version*/)
35 {
36 ar >> make_nvp("mass", I.mass());
37 ar >> make_nvp("lever", make_array(I.lever().data(), 3));
38 ar >> make_nvp("inertia", I.inertia());
39 }
40
41 template<class Archive, typename Scalar, int Options>
42 void
43 serialize(Archive & ar, pinocchio::InertiaTpl<Scalar, Options> & I, const unsigned int version)
44 {
45 split_free(ar, I, version);
46 }
47
48 } // namespace serialization
49 } // namespace boost
50
51 #endif // ifndef __pinocchio_serialization_inertia_hpp__
52