17 #ifndef HPP_PINOCCHIO_LIEGROUP_SERIALIZATION_HH 18 #define HPP_PINOCCHIO_LIEGROUP_SERIALIZATION_HH 20 #include <boost/serialization/serialization.hpp> 21 #include <boost/serialization/split_free.hpp> 26 namespace serialization {
28 template<
class Archive,
int Size,
bool rot>
31 const unsigned int version)
34 if (Size == Eigen::Dynamic) {
35 int size =
static_cast<int>(lg.nq());
36 ar & make_nvp(
"size", size);
37 if (!Archive::is_saving::value) {
44 template<
class Archive,
typename LieGroup1,
typename LieGroup2>
47 const unsigned int version)
50 #if PINOCCHIO_VERSION_AT_LEAST(2,4,5) 51 ar & make_nvp(
"lg1", lg.lg1);
52 ar & make_nvp(
"lg2", lg.lg2);
55 throw std::logic_error(
"Pinocchio version is too low for serializing " 56 "hpp::pinocchio::liegroup::CartesianProductOperation");
60 template<
class Archive,
int N>
63 const unsigned int version)
70 template<
class Archive,
int N>
73 const unsigned int version)
82 #endif // HPP_PINOCCHIO_LIEGROUP_SERIALIZATION_HH Definition: serialization.hh:25
Definition: cartesian-product.hh:28
void serialize(Archive &ar, hpp::pinocchio::liegroup::VectorSpaceOperation< Size, rot > &lg, const unsigned int version)
Definition: serialization.hh:29
Definition: vector-space.hh:49
Definition: special-orthogonal.hh:26
Definition: special-euclidean.hh:26