hpp-fcl  1.4.4
HPP fork of FCL -- The Flexible Collision Library
traits_traversal.h
Go to the documentation of this file.
1 /*
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2019, CNRS-LAAS
5  * All rights reserved.
6  */
7 
12 #include <../src/collision_node.h>
14 #include <../src/distance_func_matrix.h>
15 
16 namespace hpp
17 {
18 namespace fcl
19 {
20 
21 // TraversalTraitsCollision for collision_func_matrix.cpp
22 
23 template <typename TypeA, typename TypeB>
25 {
26 };
27 
28 #ifdef HPP_FCL_HAVE_OCTOMAP
29 
30 template <typename T_SH>
31 struct TraversalTraitsCollision <T_SH, OcTree>
32 {
33  typedef ShapeOcTreeCollisionTraversalNode<T_SH> CollisionTraversal_t;
34 };
35 
36 template <typename T_SH>
37 struct TraversalTraitsCollision <OcTree, T_SH>
38 {
39  typedef OcTreeShapeCollisionTraversalNode<T_SH> CollisionTraversal_t;
40 };
41 
42 template <>
43 struct TraversalTraitsCollision <OcTree, OcTree>
44 {
45  typedef OcTreeCollisionTraversalNode CollisionTraversal_t;
46 };
47 
48 template <typename T_BVH>
49 struct TraversalTraitsCollision <OcTree, BVHModel<T_BVH> >
50 {
51  typedef OcTreeMeshCollisionTraversalNode<T_BVH> CollisionTraversal_t;
52 };
53 
54 template <typename T_BVH>
55 struct TraversalTraitsCollision <BVHModel<T_BVH>, OcTree>
56 {
57  typedef MeshOcTreeCollisionTraversalNode<T_BVH> CollisionTraversal_t;
58 };
59 
60 #endif
61 
62 // TraversalTraitsDistance for distance_func_matrix.cpp
63 
64 template <typename TypeA, typename TypeB>
66 {
67 };
68 
69 #ifdef HPP_FCL_HAVE_OCTOMAP
70 
71 template <typename T_SH>
72 struct TraversalTraitsDistance <T_SH, OcTree>
73 {
74  typedef ShapeOcTreeDistanceTraversalNode<T_SH> CollisionTraversal_t;
75 };
76 
77 template <typename T_SH>
78 struct TraversalTraitsDistance <OcTree, T_SH>
79 {
80  typedef OcTreeShapeDistanceTraversalNode<T_SH> CollisionTraversal_t;
81 };
82 
83 template <>
84 struct TraversalTraitsDistance <OcTree, OcTree>
85 {
86  typedef OcTreeDistanceTraversalNode CollisionTraversal_t;
87 };
88 
89 template <typename T_BVH>
90 struct TraversalTraitsDistance <OcTree, BVHModel<T_BVH> >
91 {
92  typedef OcTreeMeshDistanceTraversalNode<T_BVH> CollisionTraversal_t;
93 };
94 
95 template <typename T_BVH>
96 struct TraversalTraitsDistance <BVHModel<T_BVH>, OcTree>
97 {
98  typedef MeshOcTreeDistanceTraversalNode<T_BVH> CollisionTraversal_t;
99 };
100 
101 #endif
102 
103 }
104 
105 } //hpp
106 
Main namespace.
Definition: AABB.h:43
Definition: traits_traversal.h:65
Definition: traits_traversal.h:24