33#ifndef DART_COLLISION_FCL_BACKWARDCOMPATIBILITY_HPP_
34#define DART_COLLISION_FCL_BACKWARDCOMPATIBILITY_HPP_
39#include "dart/config.hpp"
42#define FCL_VERSION_AT_LEAST(x,y,z) \
43 (FCL_MAJOR_VERSION > x || (FCL_MAJOR_VERSION >= x && \
44 (FCL_MINOR_VERSION > y || (FCL_MINOR_VERSION >= y && \
45 FCL_PATCH_VERSION >= z))))
47#define FCL_MAJOR_MINOR_VERSION_AT_MOST(x,y) \
48 (FCL_MAJOR_VERSION < x || (FCL_MAJOR_VERSION <= x && \
49 (FCL_MINOR_VERSION < y || (FCL_MINOR_VERSION <= y))))
52#include <fcl/config.h>
54#if FCL_VERSION_AT_LEAST(0, 6, 0)
56 #include <fcl/geometry/bvh/BVH_model.h>
57 #include <fcl/geometry/geometric_shape_to_BVH_model.h>
58 #include <fcl/math/bv/OBBRSS.h>
59 #include <fcl/math/bv/utility.h>
60 #include <fcl/math/geometry.h>
61 #include <fcl/narrowphase/collision.h>
62 #include <fcl/narrowphase/collision_object.h>
63 #include <fcl/narrowphase/distance.h>
67 #include <fcl/BV/OBBRSS.h>
68 #include <fcl/BVH/BVH_model.h>
69 #include <fcl/collision.h>
70 #include <fcl/collision_data.h>
71 #include <fcl/collision_object.h>
72 #include <fcl/distance.h>
73 #include <fcl/math/matrix_3f.h>
74 #include <fcl/math/transform.h>
75 #include <fcl/math/vec_3f.h>
76 #include <fcl/shape/geometric_shape_to_BVH_model.h>
80#include <fcl/broadphase/broadphase_dynamic_AABB_tree.h>
82#if HAVE_OCTOMAP && FCL_HAVE_OCTOMAP
83 #if FCL_VERSION_AT_LEAST(0, 6, 0)
84 #include <fcl/geometry/octree/octree.h>
86 #include <fcl/octree.h>
101template <
class T,
class... Args>
105 return std::make_shared<T>(std::forward<Args>(args)...);
112#if FCL_VERSION_AT_LEAST(0, 6, 0)
114using Vector3 = ::fcl::Vector3<double>;
115using Matrix3 = ::fcl::Matrix3<double>;
118using Box = ::fcl::Box<double>;
119using Cylinder = ::fcl::Cylinder<double>;
120using Cone = ::fcl::Cone<double>;
121using Ellipsoid = ::fcl::Ellipsoid<double>;
122using Halfspace = ::fcl::Halfspace<double>;
123using Sphere = ::fcl::Sphere<double>;
124 #if HAVE_OCTOMAP && FCL_HAVE_OCTOMAP
125using OcTree = ::fcl::OcTree<double>;
131 = ::fcl::DynamicAABBTreeCollisionManager<double>;
132using OBBRSS = ::fcl::OBBRSS<double>;
137using Contact = ::fcl::Contact<double>;
149 #if HAVE_OCTOMAP && FCL_HAVE_OCTOMAP
150using OcTree = ::fcl::OcTree;
164#if !FCL_VERSION_AT_LEAST(0, 6, 0)
176#if FCL_VERSION_AT_LEAST(0, 6, 0)
177 return dart::collision::fcl::Transform3::Identity();
#define DART_DEPRECATED(version)
Definition Deprecated.hpp:51
std::shared_ptr< T > fcl_make_shared(Args &&... args)
Definition BackwardCompatibility.hpp:103
std::shared_ptr< T > fcl_shared_ptr
Definition BackwardCompatibility.hpp:94
std::weak_ptr< T > fcl_weak_ptr
Definition BackwardCompatibility.hpp:98
::fcl::CollisionGeometry CollisionGeometry
Definition BackwardCompatibility.hpp:154
void setTranslation(dart::collision::fcl::Transform3 &T, const dart::collision::fcl::Vector3 &t)
Sets translation component of a transform.
Definition BackwardCompatibility.cpp:71
::fcl::CollisionObject CollisionObject
Definition BackwardCompatibility.hpp:153
::fcl::Sphere Sphere
Definition BackwardCompatibility.hpp:148
void setEulerZYX(dart::collision::fcl::Matrix3 &rot, double eulerX, double eulerY, double eulerZ)
Sets a rotation matrix given Euler-XYZ angles.
Definition BackwardCompatibility.cpp:104
double length(const dart::collision::fcl::Vector3 &t)
Returns norm of a 3-dim vector.
Definition BackwardCompatibility.cpp:40
double length2(const dart::collision::fcl::Vector3 &t)
Returns squared norm of a 3-dim vector.
Definition BackwardCompatibility.cpp:50
::fcl::OBBRSS OBBRSS
Definition BackwardCompatibility.hpp:156
void setRotation(dart::collision::fcl::Transform3 &T, const dart::collision::fcl::Matrix3 &R)
Sets rotation component of a transform.
Definition BackwardCompatibility.cpp:93
::fcl::Cone Cone
Definition BackwardCompatibility.hpp:146
::fcl::CollisionResult CollisionResult
Definition BackwardCompatibility.hpp:158
::fcl::Halfspace Halfspace
Definition BackwardCompatibility.hpp:147
::fcl::DynamicAABBTreeCollisionManager DynamicAABBTreeCollisionManager
Definition BackwardCompatibility.hpp:155
::fcl::Vec3f Vector3
Definition BackwardCompatibility.hpp:140
dart::collision::fcl::Vector3 transform(const dart::collision::fcl::Transform3 &t, const dart::collision::fcl::Vector3 &v)
Transforms a 3-dim vector by a transform and returns the result.
Definition BackwardCompatibility.cpp:133
::fcl::Cylinder Cylinder
Definition BackwardCompatibility.hpp:145
::fcl::Transform3f Transform3
Definition BackwardCompatibility.hpp:142
dart::collision::fcl::Transform3 getTransform3Identity()
Definition BackwardCompatibility.hpp:174
::fcl::Ellipsoid Ellipsoid
Definition BackwardCompatibility.hpp:165
::fcl::CollisionRequest CollisionRequest
Definition BackwardCompatibility.hpp:157
::fcl::DistanceResult DistanceResult
Definition BackwardCompatibility.hpp:160
::fcl::Matrix3f Matrix3
Definition BackwardCompatibility.hpp:141
dart::collision::fcl::Vector3 getTranslation(const dart::collision::fcl::Transform3 &T)
Returns translation component of a transform.
Definition BackwardCompatibility.cpp:60
dart::collision::fcl::Matrix3 getRotation(const dart::collision::fcl::Transform3 &T)
Returns rotation component of a transform.
Definition BackwardCompatibility.cpp:82
::fcl::Box Box
Definition BackwardCompatibility.hpp:144
::fcl::Contact Contact
Definition BackwardCompatibility.hpp:161
::fcl::DistanceRequest DistanceRequest
Definition BackwardCompatibility.hpp:159
Definition BulletCollisionDetector.cpp:60