hpp-fcl: src/traits_traversal.h Source File

hpp-fcl 1.8.0 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
10#include <hpp/fcl/collision_func_matrix.h>
11#include <hpp/fcl/narrowphase/narrowphase.h>
12#include <../src/collision_node.h>
13#include <hpp/fcl/internal/traversal_node_setup.h>
14#include <hpp/fcl/internal/shape_shape_func.h>
15
16namespace hpp
17{
18namespace fcl
19{
20
21// TraversalTraitsCollision for collision_func_matrix.cpp
22
23template <typename TypeA, typename TypeB>
24 struct HPP_FCL_LOCAL TraversalTraitsCollision
25{
26};
27
28#ifdef HPP_FCL_HAS_OCTOMAP
29
30template <typename T_SH>
31struct HPP_FCL_LOCAL TraversalTraitsCollision <T_SH, OcTree>
32{
33 typedef ShapeOcTreeCollisionTraversalNode<T_SH> CollisionTraversal_t;
34};
35
36template <typename T_SH>
37struct HPP_FCL_LOCAL TraversalTraitsCollision <OcTree, T_SH>
38{
39 typedef OcTreeShapeCollisionTraversalNode<T_SH> CollisionTraversal_t;
40};
41
42template <>
43struct HPP_FCL_LOCAL TraversalTraitsCollision <OcTree, OcTree>
44{
45 typedef OcTreeCollisionTraversalNode CollisionTraversal_t;
46};
47
48template <typename T_BVH>
49struct HPP_FCL_LOCAL TraversalTraitsCollision <OcTree, BVHModel<T_BVH> >
50{
51 typedef OcTreeMeshCollisionTraversalNode<T_BVH> CollisionTraversal_t;
52};
53
54template <typename T_BVH>
55struct HPP_FCL_LOCAL 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
64template <typename TypeA, typename TypeB>
65 struct HPP_FCL_LOCAL TraversalTraitsDistance
66{
67};
68
69#ifdef HPP_FCL_HAS_OCTOMAP
70
71template <typename T_SH>
72struct HPP_FCL_LOCAL TraversalTraitsDistance <T_SH, OcTree>
73{
74 typedef ShapeOcTreeDistanceTraversalNode<T_SH> CollisionTraversal_t;
75};
76
77template <typename T_SH>
78struct HPP_FCL_LOCAL TraversalTraitsDistance <OcTree, T_SH>
79{
80 typedef OcTreeShapeDistanceTraversalNode<T_SH> CollisionTraversal_t;
81};
82
83template <>
84struct HPP_FCL_LOCAL TraversalTraitsDistance <OcTree, OcTree>
85{
86 typedef OcTreeDistanceTraversalNode CollisionTraversal_t;
87};
88
89template <typename T_BVH>
90struct HPP_FCL_LOCAL TraversalTraitsDistance <OcTree, BVHModel<T_BVH> >
91{
92 typedef OcTreeMeshDistanceTraversalNode<T_BVH> CollisionTraversal_t;
93};
94
95template <typename T_BVH>
96struct HPP_FCL_LOCAL TraversalTraitsDistance <BVHModel<T_BVH>, OcTree>
97{
98 typedef MeshOcTreeDistanceTraversalNode<T_BVH> CollisionTraversal_t;
99};
100
101#endif
102
103}
104
105} //hpp
106
hpp::fcl::OcTree
Octree is one type of collision geometry which can encode uncertainty information in the sensor data.
Definition: octree.h:57
collision_func_matrix.h
hpp
Main namespace.
Definition: AABB.h:44
narrowphase.h
shape_shape_func.h
hpp::fcl::TraversalTraitsCollision
Definition: traits_traversal.h:25
hpp::fcl::TraversalTraitsDistance
Definition: traits_traversal.h:66
traversal_node_setup.h