GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/pinocchio/serialization/data.hpp Lines: 89 89 100.0 %
Date: 2024-01-23 21:41:47 Branches: 87 174 50.0 %

Line Branch Exec Source
1
//
2
// Copyright (c) 2019 INRIA
3
//
4
5
#ifndef __pinocchio_multibody_data_serialization_hpp__
6
#define __pinocchio_multibody_data_serialization_hpp__
7
8
#include <boost/serialization/variant.hpp>
9
#include <boost/serialization/vector.hpp>
10
11
#include "pinocchio/serialization/fwd.hpp"
12
#include "pinocchio/serialization/aligned-vector.hpp"
13
#include "pinocchio/serialization/spatial.hpp"
14
#include "pinocchio/serialization/joints.hpp"
15
#include "pinocchio/serialization/frame.hpp"
16
17
#define PINOCCHIO_MAKE_DATA_NVP(ar,data,field_name) \
18
  ar & make_nvp(#field_name,data.field_name)
19
20
namespace boost
21
{
22
  namespace serialization
23
  {
24
    template<class Archive, typename Scalar, int Options, template<typename,int> class JointCollectionTpl>
25
28
    void serialize(Archive & ar,
26
                   pinocchio::DataTpl<Scalar,Options,JointCollectionTpl> & data,
27
                   const unsigned int /*version*/)
28
    {
29
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,joints);
30
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,a);
31
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oa);
32
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,a_gf);
33
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oa_gf);
34
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,v);
35
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,ov);
36
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,f);
37
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,of);
38
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,h);
39
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oh);
40
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oMi);
41
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,liMi);
42
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,tau);
43
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,nle);
44
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,g);
45
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oMf);
46
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Ycrb);
47
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dYcrb);
48
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,M);
49
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Minv);
50
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,C);
51
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dHdq);
52
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdq);
53
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdv);
54
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dFda);
55
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,SDinv);
56
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,UDinv);
57
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,IS);
58
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,vxI);
59
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Ivx);
60
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,B);
61
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oinertias);
62
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,oYcrb);
63
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,doYcrb);
64
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq);
65
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Yaba);
66
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,u);
67
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Ag);
68
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dAg);
69
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,hg);
70
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dhg);
71
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Ig);
72
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Fcrb);
73
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,lastChild);
74
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree);
75
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,start_idx_v_fromRow);
76
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,end_idx_v_fromRow);
77
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,U);
78
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,D);
79
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Dinv);
80
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,parents_fromRow);
81
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,supports_fromRow);
82
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree_fromRow);
83
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,J);
84
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dJ);
85
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,ddJ);
86
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,psid);
87
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,psidd);
88
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dVdq);
89
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdq);
90
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdv);
91
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dq);
92
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dv);
93
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dq);
94
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dv);
95
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,iMf);
96
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,com);
97
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,vcom);
98
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,acom);
99
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,mass);
100
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,Jcom);
101
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,kinetic_energy);
102
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,potential_energy);
103
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,JMinvJt);
104
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,lambda_c);
105
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,torque_residual);
106
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,dq_after);
107
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,impulse_c);
108
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,staticRegressor);
109
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,bodyRegressor);
110
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,jointTorqueRegressor);
111
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dqdq);
112
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dvdv);
113
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dqdv);
114
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,d2tau_dadq);
115
28
      PINOCCHIO_MAKE_DATA_NVP(ar,data,kinematic_hessians);
116
28
    }
117
118
  } // namespace serialization
119
} // namespace boost
120
121
#undef PINOCCHIO_MAKE_DATA_NVP
122
123
#endif // ifndef __pinocchio_multibody_data_serialization_hpp__
124