-
Notifications
You must be signed in to change notification settings - Fork 427
/
Copy pathexpose-fcl.cpp
48 lines (40 loc) · 1.3 KB
/
expose-fcl.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// Copyright (c) 2017-2021 CNRS INRIA
//
#include "pinocchio/bindings/python/fwd.hpp"
#include "pinocchio/bindings/python/collision/fcl/transform.hpp"
#include "pinocchio/bindings/python/serialization/serialization.hpp"
#define HPP_FCL_SKIP_EIGEN_BOOST_SERIALIZATION
#include <hpp/fcl/serialization/BVH_model.h>
#include <hpp/fcl/serialization/hfield.h>
#include <hpp/fcl/serialization/geometric_shapes.h>
#undef HPP_FCL_SKIP_EIGEN_BOOST_SERIALIZATION
namespace pinocchio
{
namespace python
{
void exposeFCL()
{
namespace bp = boost::python;
bp::import("hppfcl");
using namespace ::hpp::fcl;
// Register implicit conversion SE3 <=> ::hpp::fcl::Transform3f
bp::implicitly_convertible<SE3, Transform3f>();
bp::implicitly_convertible<Transform3f, SE3>();
// Expose serialization of basic geometries to binary buffers
serialize<TriangleP>();
serialize<Sphere>();
serialize<Capsule>();
serialize<Box>();
serialize<Cone>();
serialize<Cylinder>();
serialize<Plane>();
serialize<Halfspace>();
serialize<BVHModel<OBB>>();
serialize<BVHModel<RSS>>();
serialize<BVHModel<OBBRSS>>();
serialize<HeightField<OBBRSS>>();
serialize<HeightField<AABB>>();
}
} // namespace python
} // namespace pinocchio