pinocchio  3.6.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
joints-motion-subspace.hpp
1 //
2 // Copyright (c) 2019-2020 INRIA
3 //
4 
5 #ifndef __pinocchio_serialization_joints_motion_subspace_hpp__
6 #define __pinocchio_serialization_joints_motion_subspace_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  void serialize(
20  Archive & /*ar*/,
22  const unsigned int /*version*/)
23  {
24  }
25 
26  template<class Archive, typename Scalar, int Options, int axis>
27  void serialize(
28  Archive & /*ar*/,
30  const unsigned int /*version*/)
31  {
32  }
33 
34  template<class Archive, typename Scalar, int Options, int axis>
35  void serialize(
36  Archive & ar,
38  const unsigned int /*version*/)
39  {
40  ar & make_nvp("h", S.h());
41  }
42 
43  template<class Archive, typename Scalar, int Options>
44  void serialize(
45  Archive & /*ar*/,
47  const unsigned int /*version*/)
48  {
49  }
50 
51  template<class Archive, typename Scalar, int Options>
52  void serialize(
53  Archive & /*ar*/,
55  const unsigned int /*version*/)
56  {
57  }
58 
59  template<class Archive, typename Scalar, int Options>
60  void serialize(
61  Archive & /*ar*/,
63  const unsigned int /*version*/)
64  {
65  }
66 
67  template<class Archive, typename Scalar, int Options>
68  void serialize(
69  Archive & ar,
71  const unsigned int /*version*/)
72  {
73  ar & make_nvp("axis", S.axis());
74  }
75 
76  template<class Archive, typename Scalar, int Options>
77  void serialize(
78  Archive & ar,
80  const unsigned int /*version*/)
81  {
82  ar & make_nvp("axis", S.axis());
83  }
84 
85  template<class Archive, typename Scalar, int Options>
86  void serialize(
87  Archive & ar,
89  const unsigned int /*version*/)
90  {
91  ar & make_nvp("axis", S.axis());
92  ar & make_nvp("h", S.h());
93  }
94 
95  template<class Archive, typename Scalar, int Options>
96  void serialize(
97  Archive & ar,
99  const unsigned int /*version*/)
100  {
101  ar & make_nvp("angularSubspace", S.angularSubspace());
102  }
103 
104  template<class Archive, int Dim, typename Scalar, int Options, int MaxDim>
105  void serialize(
106  Archive & ar,
108  const unsigned int /*version*/)
109  {
110  ar & make_nvp("matrix", S.matrix());
111  }
112 
113  template<class Archive, typename Scalar, int Options, int MaxDim>
114  void serialize(
115  Archive & ar,
117  const unsigned int /*version*/)
118  {
119  ar & make_nvp("scaling", S.scaling());
120  ar & make_nvp("constraint", S.constraint());
121  }
122 
123  template<class Archive, typename Scalar, int Options>
124  void serialize(
125  Archive & /*ar*/,
127  const unsigned int /*version*/)
128  {
129  }
130 
131  template<class Archive, typename Scalar, int Options>
132  void serialize(
133  Archive & ar,
135  const unsigned int /*version*/)
136  {
137  ar & make_nvp("angularSubspace", S.angularSubspace());
138  }
139 
140  } // namespace serialization
141 } // namespace boost
142 
143 #endif // ifndef __pinocchio_serialization_joints_motion_subspace_hpp__