37#ifndef HPP_FCL_INTERNAL_SHAPE_SHAPE_FUNC_H
38#define HPP_FCL_INTERNAL_SHAPE_SHAPE_FUNC_H
49 template<
typename T_SH1,
typename T_SH2>
51 (
const CollisionGeometry* o1,
const Transform3f& tf1,
52 const CollisionGeometry* o2,
const Transform3f& tf2,
53 const GJKSolver* nsolver,
const DistanceRequest& request,
54 DistanceResult& result);
56 template<
typename T_SH1,
typename T_SH2>
58 (
const CollisionGeometry* o1,
const Transform3f& tf1,
59 const CollisionGeometry* o2,
const Transform3f& tf2,
60 const GJKSolver* nsolver,
const CollisionRequest& request,
61 CollisionResult& result);
63#define SHAPE_SHAPE_DISTANCE_SPECIALIZATION(T1,T2) \
65HPP_FCL_DLLAPI FCL_REAL ShapeShapeDistance<T1,T2> \
66 (const CollisionGeometry* o1, const Transform3f& tf1, \
67 const CollisionGeometry* o2, const Transform3f& tf2, \
68 const GJKSolver* nsolver, const DistanceRequest& request, \
69 DistanceResult& result); \
71HPP_FCL_DLLAPI FCL_REAL ShapeShapeDistance<T2,T1> \
72(const CollisionGeometry* o1, const Transform3f& tf1, \
73 const CollisionGeometry* o2, const Transform3f& tf2, \
74 const GJKSolver* nsolver, const DistanceRequest& request, \
75 DistanceResult& result)
77 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Box,Halfspace);
78 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Box,Plane);
79 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Box,Sphere);
80 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Capsule,Capsule);
81 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Capsule,Halfspace);
82 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Capsule,Plane);
83 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Cone,Halfspace);
84 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Cone,Plane);
85 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Cylinder,Halfspace);
86 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Cylinder,Plane);
87 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Sphere,Halfspace);
88 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Sphere,Plane);
89 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Sphere,Sphere);
90 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(Sphere,Cylinder);
92 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(ConvexBase, Halfspace);
93 SHAPE_SHAPE_DISTANCE_SPECIALIZATION(TriangleP, Halfspace);
95#undef SHAPE_SHAPE_DISTANCE_SPECIALIZATION
97#define SHAPE_SHAPE_COLLIDE_SPECIALIZATION(T1,T2) \
99HPP_FCL_DLLAPI std::size_t ShapeShapeCollide<T1,T2> \
100 (const CollisionGeometry* o1, const Transform3f& tf1, \
101 const CollisionGeometry* o2, const Transform3f& tf2, \
102 const GJKSolver* nsolver, const CollisionRequest& request, \
103 CollisionResult& result)
105 SHAPE_SHAPE_COLLIDE_SPECIALIZATION(Sphere,Sphere);
107#undef SHAPE_SHAPE_COLLIDE_SPECIALIZATION
#define HPP_FCL_DLLAPI
Definition: config.hh:64
double FCL_REAL
Definition: data_types.h:66
Main namespace.
Definition: AABB.h:44