coal/collision_utility.h
Go to the documentation of this file.
1 // Copyright (c) 2017 CNRS
2 // Copyright (c) 2022 INRIA
3 // Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
4 //
5 // This file is part of Coal.
6 // Coal is free software: you can redistribute it
7 // and/or modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation, either version
9 // 3 of the License, or (at your option) any later version.
10 //
11 // Coal is distributed in the hope that it will be
12 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // General Lesser Public License for more details. You should have
15 // received a copy of the GNU Lesser General Public License along with
16 // Coal. If not, see <http://www.gnu.org/licenses/>.
17 
18 #ifndef COAL_COLLISION_UTILITY_H
19 #define COAL_COLLISION_UTILITY_H
20 
21 #include "coal/collision_object.h"
22 
23 namespace coal {
24 
25 COAL_DLLAPI CollisionGeometry* extract(const CollisionGeometry* model,
26  const Transform3s& pose,
27  const AABB& aabb);
28 
32 inline const char* get_node_type_name(NODE_TYPE node_type) {
33  static const char* node_type_name_all[] = {
34  "BV_UNKNOWN", "BV_AABB", "BV_OBB", "BV_RSS",
35  "BV_kIOS", "BV_OBBRSS", "BV_KDOP16", "BV_KDOP18",
36  "BV_KDOP24", "GEOM_BOX", "GEOM_SPHERE", "GEOM_CAPSULE",
37  "GEOM_CONE", "GEOM_CYLINDER", "GEOM_CONVEX", "GEOM_PLANE",
38  "GEOM_HALFSPACE", "GEOM_TRIANGLE", "GEOM_OCTREE", "GEOM_ELLIPSOID",
39  "HF_AABB", "HF_OBBRSS", "NODE_COUNT"};
40 
41  return node_type_name_all[node_type];
42 }
43 
47 inline const char* get_object_type_name(OBJECT_TYPE object_type) {
48  static const char* object_type_name_all[] = {
49  "OT_UNKNOWN", "OT_BVH", "OT_GEOM", "OT_OCTREE", "OT_HFIELD", "OT_COUNT"};
50 
51  return object_type_name_all[object_type];
52 }
53 
54 } // namespace coal
55 
56 #endif // COAL_COLLISION_UTILITY_H
coal::get_object_type_name
const char * get_object_type_name(OBJECT_TYPE object_type)
Returns the name associated to a OBJECT_TYPE.
Definition: coal/collision_utility.h:47
coal::NODE_TYPE
NODE_TYPE
traversal node type: bounding volume (AABB, OBB, RSS, kIOS, OBBRSS, KDOP16, KDOP18,...
Definition: coal/collision_object.h:64
coal
Main namespace.
Definition: coal/broadphase/broadphase_bruteforce.h:44
collision_object.h
coal::extract
COAL_DLLAPI CollisionGeometry * extract(const CollisionGeometry *model, const Transform3s &pose, const AABB &aabb)
Definition: collision_utility.cpp:66
coal::OBJECT_TYPE
OBJECT_TYPE
object type: BVH (mesh, points), basic geometry, octree
Definition: coal/collision_object.h:52
coal::get_node_type_name
const char * get_node_type_name(NODE_TYPE node_type)
Returns the name associated to a NODE_TYPE.
Definition: coal/collision_utility.h:32


hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:57