pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
force.hpp
1//
2// Copyright (c) 2019 INRIA
3//
4
5#ifndef __pinocchio_serialization_force_hpp__
6#define __pinocchio_serialization_force_hpp__
7
8#include "pinocchio/spatial/force.hpp"
9#include "pinocchio/serialization/fwd.hpp"
10
11#include <boost/serialization/split_free.hpp>
12#include <boost/serialization/vector.hpp>
13
14namespace boost
15{
16 namespace serialization
17 {
18
19 template<class Archive, typename Scalar, int Options>
20 void save(
21 Archive & ar, const pinocchio::ForceTpl<Scalar, Options> & f, const unsigned int /*version*/)
22 {
23 ar & make_nvp("linear", make_array(f.linear().data(), 3));
24 ar & make_nvp("angular", make_array(f.angular().data(), 3));
25 }
26
27 template<class Archive, typename Scalar, int Options>
28 void
29 load(Archive & ar, pinocchio::ForceTpl<Scalar, Options> & f, const unsigned int /*version*/)
30 {
31 ar >> make_nvp("linear", make_array(f.linear().data(), 3));
32 ar >> make_nvp("angular", make_array(f.angular().data(), 3));
33 }
34
35 template<class Archive, typename Scalar, int Options>
36 void
37 serialize(Archive & ar, pinocchio::ForceTpl<Scalar, Options> & f, const unsigned int version)
38 {
39 split_free(ar, f, version);
40 }
41
42 } // namespace serialization
43} // namespace boost
44
45#endif // ifndef __pinocchio_serialization_force_hpp__