Loading...
Searching...
No Matches
spatial.hpp
Go to the documentation of this file.
1// Copyright (c) 2015-2018, CNRS
2// Authors: Justin Carpentier <jcarpent@laas.fr>
3
4#ifndef __multicontact_api_serialization_spatial_hpp__
5#define __multicontact_api_serialization_spatial_hpp__
6
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>
11
12namespace boost {
13
14namespace serialization {
15
16template <class Archive, typename _Scalar, int _Options>
17void save(Archive& ar, const pinocchio::SE3Tpl<_Scalar, _Options>& M,
18 const unsigned int /*version*/) {
19 ar& make_nvp("translation", make_array(M.translation().data(), 3));
20 ar& make_nvp("rotation", make_array(M.rotation().data(), 9));
21}
22
23template <class Archive, typename _Scalar, int _Options>
24void load(Archive& ar, pinocchio::SE3Tpl<_Scalar, _Options>& M,
25 const unsigned int /*version*/) {
26 ar >> make_nvp("translation", make_array(M.translation().data(), 3));
27 ar >> make_nvp("rotation", make_array(M.rotation().data(), 9));
28}
29
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);
34}
35
36template <class Archive, typename _Scalar, int _Options>
37void save(Archive& ar, const pinocchio::ForceTpl<_Scalar, _Options>& f,
38 const unsigned int /*version*/) {
39 ar& make_nvp("linear", make_array(f.linear().data(), 3));
40 ar& make_nvp("angular", make_array(f.angular().data(), 3));
41}
42
43template <class Archive, typename _Scalar, int _Options>
44void load(Archive& ar, pinocchio::ForceTpl<_Scalar, _Options>& f,
45 const unsigned int /*version*/) {
46 ar >> make_nvp("linear", make_array(f.linear().data(), 3));
47 ar >> make_nvp("angular", make_array(f.angular().data(), 3));
48}
49
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);
54}
55
56} // namespace serialization
57
58} // namespace boost
59
60#endif // ifndef __multicontact_api_serialization_spatial_hpp__
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