Skip to content

Commit 48aeb42

Browse files
committed
expose IdVisitor only if eigenpy>=3.8.0 available
1 parent 931c661 commit 48aeb42

File tree

1 file changed

+52
-13
lines changed

1 file changed

+52
-13
lines changed

python/collision-geometries.cc

+52-13
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ void exposeBVHModel(const std::string& bvname) {
118118
return_value_policy<manage_new_object>())
119119
.def_pickle(PickleObject<BVH>())
120120
.def(SerializableVisitor<BVH>())
121-
.def(eigenpy::IdVisitor<BVH>());
121+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
122+
.def(eigenpy::IdVisitor<BVH>())
123+
#endif
124+
;
122125
}
123126

124127
template <typename BV>
@@ -160,7 +163,10 @@ void exposeHeightField(const std::string& bvname) {
160163
bp::return_internal_reference<>())
161164
.def_pickle(PickleObject<Geometry>())
162165
.def(SerializableVisitor<Geometry>())
163-
.def(eigenpy::IdVisitor<Geometry>());
166+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
167+
.def(eigenpy::IdVisitor<Geometry>())
168+
#endif
169+
;
164170
}
165171

166172
struct ConvexBaseWrapper {
@@ -288,7 +294,10 @@ void exposeShapes() {
288294
return_value_policy<manage_new_object>())
289295
.def_pickle(PickleObject<Box>())
290296
.def(SerializableVisitor<Box>())
291-
.def(eigenpy::IdVisitor<Box>());
297+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
298+
.def(eigenpy::IdVisitor<Box>())
299+
#endif
300+
;
292301

293302
class_<Capsule, bases<ShapeBase>, shared_ptr<Capsule>>(
294303
"Capsule", doxygen::class_doc<Capsule>(), no_init)
@@ -301,7 +310,10 @@ void exposeShapes() {
301310
return_value_policy<manage_new_object>())
302311
.def_pickle(PickleObject<Capsule>())
303312
.def(SerializableVisitor<Capsule>())
304-
.def(eigenpy::IdVisitor<Capsule>());
313+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
314+
.def(eigenpy::IdVisitor<Capsule>())
315+
#endif
316+
;
305317

306318
class_<Cone, bases<ShapeBase>, shared_ptr<Cone>>(
307319
"Cone", doxygen::class_doc<Cone>(), no_init)
@@ -314,7 +326,10 @@ void exposeShapes() {
314326
return_value_policy<manage_new_object>())
315327
.def_pickle(PickleObject<Cone>())
316328
.def(SerializableVisitor<Cone>())
317-
.def(eigenpy::IdVisitor<Cone>());
329+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
330+
.def(eigenpy::IdVisitor<Cone>())
331+
#endif
332+
;
318333

319334
class_<ConvexBase, bases<ShapeBase>, shared_ptr<ConvexBase>, noncopyable>(
320335
"ConvexBase", doxygen::class_doc<ConvexBase>(), no_init)
@@ -363,7 +378,10 @@ void exposeShapes() {
363378
.def("polygons", &ConvexWrapper<Triangle>::polygons)
364379
.def_pickle(PickleObject<Convex<Triangle>>())
365380
.def(SerializableVisitor<Convex<Triangle>>())
366-
.def(eigenpy::IdVisitor<Convex<Triangle>>());
381+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
382+
.def(eigenpy::IdVisitor<Convex<Triangle>>())
383+
#endif
384+
;
367385

368386
class_<Cylinder, bases<ShapeBase>, shared_ptr<Cylinder>>(
369387
"Cylinder", doxygen::class_doc<Cylinder>(), no_init)
@@ -377,7 +395,10 @@ void exposeShapes() {
377395
return_value_policy<manage_new_object>())
378396
.def_pickle(PickleObject<Cylinder>())
379397
.def(SerializableVisitor<Cylinder>())
380-
.def(eigenpy::IdVisitor<Cylinder>());
398+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
399+
.def(eigenpy::IdVisitor<Cylinder>())
400+
#endif
401+
;
381402

382403
class_<Halfspace, bases<ShapeBase>, shared_ptr<Halfspace>>(
383404
"Halfspace", doxygen::class_doc<Halfspace>(), no_init)
@@ -392,7 +413,10 @@ void exposeShapes() {
392413
return_value_policy<manage_new_object>())
393414
.def_pickle(PickleObject<Halfspace>())
394415
.def(SerializableVisitor<Halfspace>())
395-
.def(eigenpy::IdVisitor<Halfspace>());
416+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
417+
.def(eigenpy::IdVisitor<Halfspace>())
418+
#endif
419+
;
396420

397421
class_<Plane, bases<ShapeBase>, shared_ptr<Plane>>(
398422
"Plane", doxygen::class_doc<Plane>(), no_init)
@@ -406,7 +430,10 @@ void exposeShapes() {
406430
return_value_policy<manage_new_object>())
407431
.def_pickle(PickleObject<Plane>())
408432
.def(SerializableVisitor<Plane>())
409-
.def(eigenpy::IdVisitor<Plane>());
433+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
434+
.def(eigenpy::IdVisitor<Plane>())
435+
#endif
436+
;
410437

411438
class_<Sphere, bases<ShapeBase>, shared_ptr<Sphere>>(
412439
"Sphere", doxygen::class_doc<Sphere>(), no_init)
@@ -418,7 +445,10 @@ void exposeShapes() {
418445
return_value_policy<manage_new_object>())
419446
.def_pickle(PickleObject<Sphere>())
420447
.def(SerializableVisitor<Sphere>())
421-
.def(eigenpy::IdVisitor<Sphere>());
448+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
449+
.def(eigenpy::IdVisitor<Sphere>())
450+
#endif
451+
;
422452

423453
class_<Ellipsoid, bases<ShapeBase>, shared_ptr<Ellipsoid>>(
424454
"Ellipsoid", doxygen::class_doc<Ellipsoid>(), no_init)
@@ -432,7 +462,10 @@ void exposeShapes() {
432462
return_value_policy<manage_new_object>())
433463
.def_pickle(PickleObject<Ellipsoid>())
434464
.def(SerializableVisitor<Ellipsoid>())
435-
.def(eigenpy::IdVisitor<Ellipsoid>());
465+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
466+
.def(eigenpy::IdVisitor<Ellipsoid>())
467+
#endif
468+
;
436469

437470
class_<TriangleP, bases<ShapeBase>, shared_ptr<TriangleP>>(
438471
"TriangleP", doxygen::class_doc<TriangleP>(), no_init)
@@ -447,7 +480,10 @@ void exposeShapes() {
447480
return_value_policy<manage_new_object>())
448481
.def_pickle(PickleObject<TriangleP>())
449482
.def(SerializableVisitor<TriangleP>())
450-
.def(eigenpy::IdVisitor<TriangleP>());
483+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
484+
.def(eigenpy::IdVisitor<TriangleP>())
485+
#endif
486+
;
451487
}
452488

453489
boost::python::tuple AABB_distance_proxy(const AABB& self, const AABB& other) {
@@ -598,7 +634,10 @@ void exposeCollisionGeometries() {
598634
bp::return_internal_reference<>())
599635
.def_pickle(PickleObject<AABB>())
600636
.def(SerializableVisitor<AABB>())
601-
.def(eigenpy::IdVisitor<AABB>());
637+
#if EIGENPY_VERSION_AT_LEAST(3, 8, 0)
638+
.def(eigenpy::IdVisitor<AABB>())
639+
#endif
640+
;
602641

603642
def("translate", (AABB(*)(const AABB&, const Vec3f&)) & translate,
604643
bp::args("aabb", "t"), "Translate the center of AABB by t");

0 commit comments

Comments
 (0)