Commit 5be10d58 authored by Justin Carpentier's avatar Justin Carpentier

serialization: add serialization of data

parent 8fb42023
//
// Copyright (c) 2019 INRIA
//
#ifndef __pinocchio_multibody_data_serialization_hpp__
#define __pinocchio_multibody_data_serialization_hpp__
#include <boost/serialization/variant.hpp>
#include <boost/serialization/vector.hpp>
#include "pinocchio/serialization/aligned-vector.hpp"
#include "pinocchio/serialization/spatial.hpp"
#include "pinocchio/serialization/eigen.hpp"
#include "pinocchio/serialization/joints.hpp"
#include "pinocchio/serialization/frame.hpp"
#define PINOCCHIO_MAKE_DATA_NVP(ar,data,field_name) \
ar & make_nvp(#field_name,data.field_name)
namespace boost
{
namespace serialization
{
template<class Archive, typename Scalar, int Options, template<typename,int> class JointCollectionTpl>
void serialize(Archive & ar,
pinocchio::DataTpl<Scalar,Options,JointCollectionTpl> & data,
const unsigned int /*version*/)
{
PINOCCHIO_MAKE_DATA_NVP(ar,data,joints);
PINOCCHIO_MAKE_DATA_NVP(ar,data,a);
PINOCCHIO_MAKE_DATA_NVP(ar,data,oa);
PINOCCHIO_MAKE_DATA_NVP(ar,data,a_gf);
PINOCCHIO_MAKE_DATA_NVP(ar,data,oa_gf);
PINOCCHIO_MAKE_DATA_NVP(ar,data,v);
PINOCCHIO_MAKE_DATA_NVP(ar,data,ov);
PINOCCHIO_MAKE_DATA_NVP(ar,data,f);
PINOCCHIO_MAKE_DATA_NVP(ar,data,of);
PINOCCHIO_MAKE_DATA_NVP(ar,data,h);
PINOCCHIO_MAKE_DATA_NVP(ar,data,oh);
PINOCCHIO_MAKE_DATA_NVP(ar,data,oMi);
PINOCCHIO_MAKE_DATA_NVP(ar,data,liMi);
PINOCCHIO_MAKE_DATA_NVP(ar,data,tau);
PINOCCHIO_MAKE_DATA_NVP(ar,data,nle);
PINOCCHIO_MAKE_DATA_NVP(ar,data,g);
PINOCCHIO_MAKE_DATA_NVP(ar,data,oMf);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ycrb);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dYcrb);
PINOCCHIO_MAKE_DATA_NVP(ar,data,M);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Minv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,C);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dHdq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dFdv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dFda);
PINOCCHIO_MAKE_DATA_NVP(ar,data,SDinv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,UDinv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,IS);
PINOCCHIO_MAKE_DATA_NVP(ar,data,vxI);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ivx);
PINOCCHIO_MAKE_DATA_NVP(ar,data,oYcrb);
PINOCCHIO_MAKE_DATA_NVP(ar,data,doYcrb);
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Yaba);
PINOCCHIO_MAKE_DATA_NVP(ar,data,u);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ag);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dAg);
PINOCCHIO_MAKE_DATA_NVP(ar,data,hg);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dhg);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Ig);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Fcrb);
PINOCCHIO_MAKE_DATA_NVP(ar,data,lastChild);
PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree);
PINOCCHIO_MAKE_DATA_NVP(ar,data,start_idx_v_fromRow);
PINOCCHIO_MAKE_DATA_NVP(ar,data,end_idx_v_fromRow);
PINOCCHIO_MAKE_DATA_NVP(ar,data,U);
PINOCCHIO_MAKE_DATA_NVP(ar,data,D);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Dinv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,parents_fromRow);
PINOCCHIO_MAKE_DATA_NVP(ar,data,supports_fromRow);
PINOCCHIO_MAKE_DATA_NVP(ar,data,nvSubtree_fromRow);
PINOCCHIO_MAKE_DATA_NVP(ar,data,J);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dJ);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dVdq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dAdv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dtau_dv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dq);
PINOCCHIO_MAKE_DATA_NVP(ar,data,ddq_dv);
PINOCCHIO_MAKE_DATA_NVP(ar,data,iMf);
PINOCCHIO_MAKE_DATA_NVP(ar,data,com);
PINOCCHIO_MAKE_DATA_NVP(ar,data,vcom);
PINOCCHIO_MAKE_DATA_NVP(ar,data,acom);
PINOCCHIO_MAKE_DATA_NVP(ar,data,mass);
PINOCCHIO_MAKE_DATA_NVP(ar,data,Jcom);
PINOCCHIO_MAKE_DATA_NVP(ar,data,kinetic_energy);
PINOCCHIO_MAKE_DATA_NVP(ar,data,potential_energy);
PINOCCHIO_MAKE_DATA_NVP(ar,data,JMinvJt);
PINOCCHIO_MAKE_DATA_NVP(ar,data,lambda_c);
PINOCCHIO_MAKE_DATA_NVP(ar,data,torque_residual);
PINOCCHIO_MAKE_DATA_NVP(ar,data,dq_after);
PINOCCHIO_MAKE_DATA_NVP(ar,data,impulse_c);
PINOCCHIO_MAKE_DATA_NVP(ar,data,staticRegressor);
PINOCCHIO_MAKE_DATA_NVP(ar,data,bodyRegressor);
PINOCCHIO_MAKE_DATA_NVP(ar,data,jointTorqueRegressor);
PINOCCHIO_MAKE_DATA_NVP(ar,data,kinematic_hessians);
}
} // namespace serialization
} // namespace boost
#undef PINOCCHIO_MAKE_DATA_NVP
#endif // ifndef __pinocchio_multibody_data_serialization_hpp__
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment