1 |
|
|
// |
2 |
|
|
// Copyright (c) 2021 INRIA |
3 |
|
|
// |
4 |
|
|
|
5 |
|
|
#ifndef __pinocchio_serialization_multibody_geometry_hpp__ |
6 |
|
|
#define __pinocchio_serialization_multibody_geometry_hpp__ |
7 |
|
|
|
8 |
|
|
#include <boost/serialization/vector.hpp> |
9 |
|
|
#include <boost/serialization/map.hpp> |
10 |
|
|
|
11 |
|
|
#ifdef PINOCCHIO_WITH_HPP_FCL |
12 |
|
|
#define HPP_FCL_SKIP_EIGEN_BOOST_SERIALIZATION |
13 |
|
|
#include <hpp/fcl/serialization/collision_data.h> |
14 |
|
|
#undef HPP_FCL_SKIP_EIGEN_BOOST_SERIALIZATION |
15 |
|
|
#endif // PINOCCHIO_WITH_HPP_FCL |
16 |
|
|
|
17 |
|
|
#include "pinocchio/multibody/geometry.hpp" |
18 |
|
|
#include "pinocchio/serialization/aligned-vector.hpp" |
19 |
|
|
#include "pinocchio/serialization/spatial.hpp" |
20 |
|
|
|
21 |
|
|
namespace boost |
22 |
|
|
{ |
23 |
|
|
namespace serialization |
24 |
|
|
{ |
25 |
|
|
template<class Archive> |
26 |
|
|
void serialize(Archive & ar, |
27 |
|
|
pinocchio::CollisionPair & collision_pair, |
28 |
|
|
const unsigned int /*version*/) |
29 |
|
|
{ |
30 |
|
|
ar & make_nvp("pair",base_object<pinocchio::CollisionPair::Base>(collision_pair)); |
31 |
|
|
} |
32 |
|
|
|
33 |
|
|
template<class Archive> |
34 |
|
28 |
void serialize(Archive & ar, |
35 |
|
|
pinocchio::GeometryData & geom_data, |
36 |
|
|
const unsigned int /*version*/) |
37 |
|
|
{ |
38 |
✓✗ |
28 |
ar & make_nvp("oMg",geom_data.oMg); |
39 |
|
|
|
40 |
✓✗ |
28 |
ar & make_nvp("activeCollisionPairs",geom_data.activeCollisionPairs); |
41 |
|
|
|
42 |
|
|
#ifdef PINOCCHIO_WITH_HPP_FCL |
43 |
✓✗ |
28 |
ar & make_nvp("distanceRequests",geom_data.distanceRequests); |
44 |
✓✗ |
28 |
ar & make_nvp("distanceResults",geom_data.distanceResults); |
45 |
✓✗ |
28 |
ar & make_nvp("collisionRequests",geom_data.collisionRequests); |
46 |
✓✗ |
28 |
ar & make_nvp("collisionResults",geom_data.collisionResults); |
47 |
|
|
|
48 |
✓✗ |
28 |
ar & make_nvp("radius",geom_data.radius); |
49 |
|
|
|
50 |
✓✗ |
28 |
ar & make_nvp("collisionPairIndex",geom_data.collisionPairIndex); |
51 |
|
|
#endif // PINOCCHIO_WITH_HPP_FCL |
52 |
|
|
|
53 |
✓✗ |
28 |
ar & make_nvp("innerObjects",geom_data.innerObjects); |
54 |
✓✗ |
28 |
ar & make_nvp("outerObjects",geom_data.outerObjects); |
55 |
|
28 |
} |
56 |
|
|
|
57 |
|
|
} // namespace serialization |
58 |
|
|
} // namespace boost |
59 |
|
|
|
60 |
|
|
#endif // ifndef __pinocchio_serialization_multibody_geometry_hpp__ |