GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/serialization/se3.hpp Lines: 11 11 100.0 %
Date: 2024-01-23 21:41:47 Branches: 8 16 50.0 %

Line Branch Exec Source
1
//
2
// Copyright (c) 2019 INRIA
3
//
4
5
#ifndef __pinocchio_serialization_se3_hpp__
6
#define __pinocchio_serialization_se3_hpp__
7
8
#include "pinocchio/spatial/se3.hpp"
9
#include "pinocchio/serialization/fwd.hpp"
10
11
#include <boost/serialization/split_free.hpp>
12
#include <boost/serialization/vector.hpp>
13
14
namespace boost
15
{
16
  namespace serialization
17
  {
18
19
    template <class Archive, typename Scalar, int Options>
20
4306
    void save(Archive & ar,
21
              const pinocchio::SE3Tpl<Scalar,Options> & M,
22
              const unsigned int /*version*/)
23
    {
24

4306
      ar & make_nvp("translation",make_array(M.translation().data(),3));
25

4306
      ar & make_nvp("rotation",make_array(M.rotation().data(),9));
26
4306
    }
27
28
    template <class Archive, typename Scalar, int Options>
29
3808
    void load(Archive & ar,
30
              pinocchio::SE3Tpl<Scalar,Options> & M,
31
              const unsigned int /*version*/)
32
    {
33

3808
      ar >> make_nvp("translation",make_array(M.translation().data(),3));
34

3808
      ar >> make_nvp("rotation",make_array(M.rotation().data(),9));
35
3808
    }
36
37
    template <class Archive, typename Scalar, int Options>
38
8114
    void serialize(Archive & ar,
39
                   pinocchio::SE3Tpl<Scalar,Options> & M,
40
                   const unsigned int version)
41
    {
42
8114
      split_free(ar,M,version);
43
8114
    }
44
45
  }
46
}
47
48
#endif // ifndef __pinocchio_serialization_se3_hpp__