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>
15 
16 namespace hpp {
17 namespace fcl {
18 
19 // TraversalTraitsCollision for collision_func_matrix.cpp
20 
21 template <typename TypeA, typename TypeB>
22 struct HPP_FCL_LOCAL TraversalTraitsCollision {};
23 
24 #ifdef HPP_FCL_HAS_OCTOMAP
25 
26 template <typename T_SH>
27 struct HPP_FCL_LOCAL TraversalTraitsCollision<T_SH, OcTree> {
28  typedef ShapeOcTreeCollisionTraversalNode<T_SH> CollisionTraversal_t;
29 };
30 
31 template <typename T_SH>
32 struct HPP_FCL_LOCAL TraversalTraitsCollision<OcTree, T_SH> {
33  typedef OcTreeShapeCollisionTraversalNode<T_SH> CollisionTraversal_t;
34 };
35 
36 template <>
37 struct HPP_FCL_LOCAL TraversalTraitsCollision<OcTree, OcTree> {
38  typedef OcTreeCollisionTraversalNode CollisionTraversal_t;
39 };
40 
41 template <typename T_BVH>
42 struct HPP_FCL_LOCAL TraversalTraitsCollision<OcTree, BVHModel<T_BVH> > {
43  typedef OcTreeMeshCollisionTraversalNode<T_BVH> CollisionTraversal_t;
44 };
45 
46 template <typename T_BVH>
47 struct HPP_FCL_LOCAL TraversalTraitsCollision<BVHModel<T_BVH>, OcTree> {
48  typedef MeshOcTreeCollisionTraversalNode<T_BVH> CollisionTraversal_t;
49 };
50 
51 #endif
52 
53 // TraversalTraitsDistance for distance_func_matrix.cpp
54 
55 template <typename TypeA, typename TypeB>
56 struct HPP_FCL_LOCAL TraversalTraitsDistance {};
57 
58 #ifdef HPP_FCL_HAS_OCTOMAP
59 
60 template <typename T_SH>
61 struct HPP_FCL_LOCAL TraversalTraitsDistance<T_SH, OcTree> {
62  typedef ShapeOcTreeDistanceTraversalNode<T_SH> CollisionTraversal_t;
63 };
64 
65 template <typename T_SH>
66 struct HPP_FCL_LOCAL TraversalTraitsDistance<OcTree, T_SH> {
67  typedef OcTreeShapeDistanceTraversalNode<T_SH> CollisionTraversal_t;
68 };
69 
70 template <>
71 struct HPP_FCL_LOCAL TraversalTraitsDistance<OcTree, OcTree> {
72  typedef OcTreeDistanceTraversalNode CollisionTraversal_t;
73 };
74 
75 template <typename T_BVH>
76 struct HPP_FCL_LOCAL TraversalTraitsDistance<OcTree, BVHModel<T_BVH> > {
77  typedef OcTreeMeshDistanceTraversalNode<T_BVH> CollisionTraversal_t;
78 };
79 
80 template <typename T_BVH>
81 struct HPP_FCL_LOCAL TraversalTraitsDistance<BVHModel<T_BVH>, OcTree> {
82  typedef MeshOcTreeDistanceTraversalNode<T_BVH> CollisionTraversal_t;
83 };
84 
85 #endif
86 
87 } // namespace fcl
88 
89 } // namespace hpp
Main namespace.


hpp-fcl
Author(s):
autogenerated on Fri Jun 2 2023 02:39:02