GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/serialization/joints-motion.hpp Lines: 23 23 100.0 %
Date: 2024-01-23 21:41:47 Branches: 9 18 50.0 %

Line Branch Exec Source
1
//
2
// Copyright (c) 2019 INRIA
3
//
4
5
#ifndef __pinocchio_serialization_joints_motion_hpp__
6
#define __pinocchio_serialization_joints_motion_hpp__
7
8
#include "pinocchio/serialization/fwd.hpp"
9
10
#include <boost/serialization/split_free.hpp>
11
#include <boost/serialization/vector.hpp>
12
13
namespace boost
14
{
15
  namespace serialization
16
  {
17
18
    template <class Archive, typename Scalar, int Options, int axis>
19
1400
    void serialize(Archive & ar,
20
                   pinocchio::MotionRevoluteTpl<Scalar,Options,axis> & m,
21
                   const unsigned int /*version*/)
22
    {
23
1400
      ar & make_nvp("w",m.angularRate());
24
1400
    }
25
26
    template <class Archive, typename Scalar, int Options, int axis>
27
168
    void serialize(Archive & ar,
28
                   pinocchio::MotionPrismaticTpl<Scalar,Options,axis> & m,
29
                   const unsigned int /*version*/)
30
    {
31
168
      ar & make_nvp("v",m.linearRate());
32
168
    }
33
34
    template <class Archive, typename Scalar, int Options>
35
168
    void serialize(Archive & ar,
36
                   pinocchio::MotionSphericalTpl<Scalar,Options> & m,
37
                   const unsigned int /*version*/)
38
    {
39
168
      ar & make_nvp("angular",m.angular());
40
168
    }
41
42
    template <class Archive, typename Scalar, int Options>
43
56
    void serialize(Archive & ar,
44
                   pinocchio::MotionTranslationTpl<Scalar,Options> & m,
45
                   const unsigned int /*version*/)
46
    {
47
56
      ar & make_nvp("linear",m.linear());
48
56
    }
49
50
    template <class Archive, typename Scalar, int Options>
51
56
    void serialize(Archive & ar,
52
                   pinocchio::MotionPlanarTpl<Scalar,Options> & m,
53
                   const unsigned int /*version*/)
54
    {
55
56
      ar & make_nvp("data",m.data());
56
56
    }
57
58
    template <class Archive, typename Scalar, int Options>
59
112
    void serialize(Archive & ar,
60
                   pinocchio::MotionRevoluteUnalignedTpl<Scalar,Options> & m,
61
                   const unsigned int /*version*/)
62
    {
63
112
      ar & make_nvp("axis",m.axis());
64
112
      ar & make_nvp("w",m.angularRate());
65
112
    }
66
67
    template <class Archive, typename Scalar, int Options>
68
56
    void serialize(Archive & ar,
69
                   pinocchio::MotionPrismaticUnalignedTpl<Scalar,Options> & m,
70
                   const unsigned int /*version*/)
71
    {
72
56
      ar & make_nvp("axis",m.axis());
73
56
      ar & make_nvp("v",m.linearRate());
74
56
    }
75
76
  }
77
}
78
79
#endif // ifndef __pinocchio_serialization_joints_motion_hpp__