29 #ifndef HPP_PINOCCHIO_LIEGROUP_SERIALIZATION_HH
30 #define HPP_PINOCCHIO_LIEGROUP_SERIALIZATION_HH
32 #include <boost/serialization/serialization.hpp>
33 #include <boost/serialization/split_free.hpp>
37 namespace serialization {
39 template <
class Archive,
int Size,
bool rot>
42 const unsigned int version) {
44 if (Size == Eigen::Dynamic) {
45 int size =
static_cast<int>(lg.nq());
46 ar& make_nvp(
"size", size);
47 if (!Archive::is_saving::value) {
54 template <
class Archive,
typename LieGroup1,
typename LieGroup2>
59 const unsigned int version) {
61 #if PINOCCHIO_VERSION_AT_LEAST(2, 4, 5)
62 ar& make_nvp(
"lg1", lg.lg1);
63 ar& make_nvp(
"lg2", lg.lg2);
67 throw std::logic_error(
68 "Pinocchio version is too low for serializing "
69 "hpp::pinocchio::liegroup::CartesianProductOperation");
73 template <
class Archive,
int N>
76 const unsigned int version) {
82 template <
class Archive,
int N>
85 const unsigned int version) {
void serialize(Archive &ar, hpp::pinocchio::liegroup::VectorSpaceOperation< Size, rot > &lg, const unsigned int version)
Definition: serialization.hh:40
Definition: serialization.hh:36
Definition: cartesian-product.hh:40
Definition: special-euclidean.hh:39
Definition: special-orthogonal.hh:39
Definition: vector-space.hh:60