pinocchio  2.5.6
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
model.hpp
1 //
2 // Copyright (c) 2019 INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_model_serialization_hpp__
6 #define __pinocchio_multibody_model_serialization_hpp__
7 
8 #include <boost/serialization/string.hpp>
9 #include <boost/serialization/variant.hpp>
10 #include <boost/serialization/vector.hpp>
11 #include <boost/serialization/map.hpp>
12 
13 #include "pinocchio/serialization/aligned-vector.hpp"
14 #include "pinocchio/serialization/spatial.hpp"
15 #include "pinocchio/serialization/eigen.hpp"
16 #include "pinocchio/serialization/joints.hpp"
17 #include "pinocchio/serialization/frame.hpp"
18 
19 namespace boost
20 {
21  namespace serialization
22  {
23  template<class Archive, typename Scalar, int Options, template<typename,int> class JointCollectionTpl>
24  void serialize(Archive & ar,
26  const unsigned int /*version*/)
27  {
28  ar & make_nvp("nq",model.nq);
29  ar & make_nvp("nqs",model.nqs);
30  ar & make_nvp("idx_qs",model.idx_qs);
31  ar & make_nvp("nv",model.nv);
32  ar & make_nvp("nvs",model.nvs);
33  ar & make_nvp("idx_vs",model.idx_vs);
34  ar & make_nvp("njoints",model.njoints);
35  ar & make_nvp("nbodies",model.nbodies);
36  ar & make_nvp("nframes",model.nframes);
37  ar & make_nvp("parents",model.parents);
38  ar & make_nvp("names",model.names);
39  ar & make_nvp("supports",model.supports);
40  ar & make_nvp("subtrees",model.subtrees);
41  ar & make_nvp("gravity",model.gravity);
42  ar & make_nvp("name",model.name);
43 
44  ar & make_nvp("referenceConfigurations",model.referenceConfigurations);
45  ar & make_nvp("rotorInertia",model.rotorInertia);
46  ar & make_nvp("rotorGearRatio",model.rotorGearRatio);
47  ar & make_nvp("friction",model.friction);
48  ar & make_nvp("damping",model.damping);
49  ar & make_nvp("effortLimit",model.effortLimit);
50  ar & make_nvp("velocityLimit",model.velocityLimit);
51  ar & make_nvp("lowerPositionLimit",model.lowerPositionLimit);
52  ar & make_nvp("upperPositionLimit",model.upperPositionLimit);
53 
54  ar & make_nvp("inertias",model.inertias);
55  ar & make_nvp("jointPlacements",model.jointPlacements);
56 
57  ar & make_nvp("joints",model.joints);
58  ar & make_nvp("frames",model.frames);
59  }
60 
61  } // namespace serialization
62 } // namespace boost
63 
64 #endif // ifndef __pinocchio_multibody_model_serialization_hpp__
pinocchio::ModelTpl
Definition: fwd.hpp:23