4#ifndef __multicontact_api_serialization_spatial_hpp__
5#define __multicontact_api_serialization_spatial_hpp__
7#include <boost/serialization/split_free.hpp>
8#include <boost/serialization/vector.hpp>
9#include <pinocchio/spatial/force.hpp>
10#include <pinocchio/spatial/se3.hpp>
14namespace serialization {
16template <
class Archive,
typename _Scalar,
int _Options>
17void save(Archive& ar,
const pinocchio::SE3Tpl<_Scalar, _Options>& M,
18 const unsigned int ) {
19 ar& make_nvp(
"translation", make_array(M.translation().data(), 3));
20 ar& make_nvp(
"rotation", make_array(M.rotation().data(), 9));
23template <
class Archive,
typename _Scalar,
int _Options>
24void load(Archive& ar, pinocchio::SE3Tpl<_Scalar, _Options>& M,
25 const unsigned int ) {
26 ar >> make_nvp(
"translation", make_array(M.translation().data(), 3));
27 ar >> make_nvp(
"rotation", make_array(M.rotation().data(), 9));
30template <
class Archive,
typename _Scalar,
int _Options>
31void serialize(Archive& ar, pinocchio::SE3Tpl<_Scalar, _Options>& M,
32 const unsigned int version) {
33 split_free(ar, M, version);
36template <
class Archive,
typename _Scalar,
int _Options>
37void save(Archive& ar,
const pinocchio::ForceTpl<_Scalar, _Options>& f,
38 const unsigned int ) {
39 ar& make_nvp(
"linear", make_array(f.linear().data(), 3));
40 ar& make_nvp(
"angular", make_array(f.angular().data(), 3));
43template <
class Archive,
typename _Scalar,
int _Options>
44void load(Archive& ar, pinocchio::ForceTpl<_Scalar, _Options>& f,
45 const unsigned int ) {
46 ar >> make_nvp(
"linear", make_array(f.linear().data(), 3));
47 ar >> make_nvp(
"angular", make_array(f.angular().data(), 3));
50template <
class Archive,
typename _Scalar,
int _Options>
51void serialize(Archive& ar, pinocchio::ForceTpl<_Scalar, _Options>& f,
52 const unsigned int version) {
53 split_free(ar, f, version);
void load(Archive &ar, pinocchio::container::aligned_vector< T > &v, const unsigned int version)
Definition aligned-vector.hpp:24
void serialize(Archive &ar, pinocchio::container::aligned_vector< T > &v, const unsigned int version)
Definition aligned-vector.hpp:32
void save(Archive &ar, const pinocchio::container::aligned_vector< T > &v, const unsigned int version)
Definition aligned-vector.hpp:16
Definition aligned-vector.hpp:11