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> 16template <
class Archive,
typename _Scalar,
int _Options>
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>
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>
32 const unsigned int version) {
33 split_free(ar, M, version);
36template <
class Archive,
typename _Scalar,
int _Options>
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>
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>
52 const unsigned int version) {
53 split_free(ar, f, version);
void load(Archive &ar, Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int)
void save(Archive &ar, const Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int)
void serialize(Archive &ar, Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &m, const unsigned int version)