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>
14 namespace serialization {
16 template <
class Archive,
typename _Scalar,
int _Options>
17 void 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));
23 template <
class Archive,
typename _Scalar,
int _Options>
24 void 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));
30 template <
class Archive,
typename _Scalar,
int _Options>
31 void serialize(Archive& ar, pinocchio::SE3Tpl<_Scalar, _Options>& M,
32 const unsigned int version) {
33 split_free(ar, M, version);
36 template <
class Archive,
typename _Scalar,
int _Options>
37 void 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));
43 template <
class Archive,
typename _Scalar,
int _Options>
44 void 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));
50 template <
class Archive,
typename _Scalar,
int _Options>
51 void 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