pinocchio  2.4.0-dirty
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
frame.hpp
1 //
2 // Copyright (c) 2019 INRIA
3 //
4 
5 #ifndef __pinocchio_serialization_frame_hpp__
6 #define __pinocchio_serialization_frame_hpp__
7 
8 #include "pinocchio/multibody/frame.hpp"
9 #include "pinocchio/serialization/fwd.hpp"
10 #include "pinocchio/serialization/se3.hpp"
11 
12 #include <boost/serialization/split_free.hpp>
13 #include <boost/serialization/vector.hpp>
14 
15 namespace boost
16 {
17  namespace serialization
18  {
19 
20  template <class Archive, typename Scalar, int Options>
21  void save(Archive & ar,
23  const unsigned int /*version*/)
24  {
25  ar & make_nvp("name",f.name);
26  ar & make_nvp("parent",f.parent);
27  ar & make_nvp("previousFrame",f.previousFrame);
28  ar & make_nvp("placement",f.placement);
29  ar & make_nvp("type",f.type);
30  }
31 
32  template <class Archive, typename Scalar, int Options>
33  void load(Archive & ar,
35  const unsigned int /*version*/)
36  {
37  ar >> make_nvp("name",f.name);
38  ar >> make_nvp("parent",f.parent);
39  ar >> make_nvp("previousFrame",f.previousFrame);
40  ar >> make_nvp("placement",f.placement);
41  ar >> make_nvp("type",f.type);
42  }
43 
44  template <class Archive, typename Scalar, int Options>
45  void serialize(Archive & ar,
47  const unsigned int version)
48  {
49  split_free(ar,f,version);
50  }
51 
52  }
53 }
54 
55 #endif // ifndef __pinocchio_serialization_frame_hpp__
56 
Definition: casadi.hpp:15
A Plucker coordinate frame attached to a parent joint inside a kinematic tree.
Definition: frame.hpp:31
SE3 placement
Placement of the frame wrt the parent joint.
Definition: frame.hpp:105
std::string name
Name of the frame.
Definition: frame.hpp:96
JointIndex parent
Index of the parent joint.
Definition: frame.hpp:99
FrameIndex previousFrame
Index of the previous frame.
Definition: frame.hpp:102
FrameType type
Type of the frame.
Definition: frame.hpp:108