pinocchio  2.5.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
se3.hpp
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  void save(Archive & ar,
22  const unsigned int /*version*/)
23  {
24  ar & make_nvp("translation",make_array(M.translation().data(),3));
25  ar & make_nvp("rotation",make_array(M.rotation().data(),9));
26  }
27 
28  template <class Archive, typename Scalar, int Options>
29  void load(Archive & ar,
31  const unsigned int /*version*/)
32  {
33  ar >> make_nvp("translation",make_array(M.translation().data(),3));
34  ar >> make_nvp("rotation",make_array(M.rotation().data(),9));
35  }
36 
37  template <class Archive, typename Scalar, int Options>
38  void serialize(Archive & ar,
40  const unsigned int version)
41  {
42  split_free(ar,M,version);
43  }
44 
45  }
46 }
47 
48 #endif // ifndef __pinocchio_serialization_se3_hpp__
pinocchio::SE3Tpl< Scalar, Options >