GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/serialization/motion.hpp Lines: 13 13 100.0 %
Date: 2024-01-23 21:41:47 Branches: 12 32 37.5 %

Line Branch Exec Source
1
//
2
// Copyright (c) 2019 INRIA
3
//
4
5
#ifndef __pinocchio_serialization_motion_hpp__
6
#define __pinocchio_serialization_motion_hpp__
7
8
#include "pinocchio/spatial/motion.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
2484
    void save(Archive & ar,
21
              const pinocchio::MotionTpl<Scalar,Options> & m,
22
              const unsigned int /*version*/)
23
    {
24


2484
      ar & make_nvp("linear",make_array(m.linear().data(),3));
25


2484
      ar & make_nvp("angular",make_array(m.angular().data(),3));
26
2484
    }
27
28
    template <class Archive, typename Scalar, int Options>
29
2478
    void load(Archive & ar,
30
              pinocchio::MotionTpl<Scalar,Options> & m,
31
              const unsigned int /*version*/)
32
    {
33


2478
      ar >> make_nvp("linear",make_array(m.linear().data(),3));
34


2478
      ar >> make_nvp("angular",make_array(m.angular().data(),3));
35
2478
    }
36
37
    template <class Archive, typename Scalar, int Options>
38
4962
    void serialize(Archive & ar,
39
                   pinocchio::MotionTpl<Scalar,Options> & m,
40
                   const unsigned int version)
41
    {
42
4962
      split_free(ar,m,version);
43
4962
    }
44
45
    template <class Archive, typename Scalar, int Options>
46
1988
    void serialize(Archive & /*ar*/,
47
                   pinocchio::MotionZeroTpl<Scalar,Options> & /*m*/,
48
                   const unsigned int /*version*/)
49
    {
50
      // Nothing to do
51
1988
    }
52
53
  }
54
}
55
56
#endif // ifndef __pinocchio_serialization_motion_hpp__
57
58