pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
model.hpp
1//
2// Copyright (c) 2019-2020 INRIA
3//
4
5#ifndef __pinocchio_serialization_model_hpp__
6#define __pinocchio_serialization_model_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/fwd.hpp"
14#include "pinocchio/serialization/aligned-vector.hpp"
15#include "pinocchio/serialization/spatial.hpp"
16#include "pinocchio/serialization/eigen.hpp"
17#include "pinocchio/serialization/joints.hpp"
18#include "pinocchio/serialization/frame.hpp"
19
20namespace boost
21{
22 namespace serialization
23 {
24 template<
25 class Archive,
26 typename Scalar,
27 int Options,
28 template<typename, int> class JointCollectionTpl>
29 void serialize(
30 Archive & ar,
32 const unsigned int /*version*/)
33 {
34 ar & make_nvp("nq", model.nq);
35 ar & make_nvp("nqs", model.nqs);
36 ar & make_nvp("idx_qs", model.idx_qs);
37 ar & make_nvp("nv", model.nv);
38 ar & make_nvp("nvs", model.nvs);
39 ar & make_nvp("idx_vs", model.idx_vs);
40 ar & make_nvp("nvExtended", model.nvExtended);
41 ar & make_nvp("nvExtendeds", model.nvExtendeds);
42 ar & make_nvp("idx_vExtendeds", model.idx_vExtendeds);
43 ar & make_nvp("njoints", model.njoints);
44 ar & make_nvp("nbodies", model.nbodies);
45 ar & make_nvp("nframes", model.nframes);
46 ar & make_nvp("parents", model.parents);
47 ar & make_nvp("children", model.children);
48 ar & make_nvp("names", model.names);
49 ar & make_nvp("supports", model.supports);
50 ar & make_nvp("mimic_joint_supports", model.mimic_joint_supports);
51 ar & make_nvp("subtrees", model.subtrees);
52 ar & make_nvp("mimicking_joints", model.mimicking_joints);
53 ar & make_nvp("mimicked_joints", model.mimicked_joints);
54 ar & make_nvp("gravity", model.gravity);
55 ar & make_nvp("name", model.name);
56
57 ar & make_nvp("referenceConfigurations", model.referenceConfigurations);
58 ar & make_nvp("armature", model.armature);
59 ar & make_nvp("rotorInertia", model.rotorInertia);
60 ar & make_nvp("rotorGearRatio", model.rotorGearRatio);
61 ar & make_nvp("friction", model.friction);
62 ar & make_nvp("damping", model.damping);
63 ar & make_nvp("effortLimit", model.effortLimit);
64 ar & make_nvp("velocityLimit", model.velocityLimit);
65 ar & make_nvp("lowerPositionLimit", model.lowerPositionLimit);
66 ar & make_nvp("upperPositionLimit", model.upperPositionLimit);
67
68 ar & make_nvp("inertias", model.inertias);
69 ar & make_nvp("jointPlacements", model.jointPlacements);
70
71 ar & make_nvp("joints", model.joints);
72 ar & make_nvp("frames", model.frames);
73 }
74
75 } // namespace serialization
76} // namespace boost
77
78#endif // ifndef __pinocchio_serialization_model_hpp__