Collision Checker
fcl_helpers.h
Go to the documentation of this file.
1 #pragma once
7 
8 namespace collision {
9 namespace solvers {
10 namespace solverFCL {
12  const CollisionObject *obj2) {
13  const CollisionObjectEx *obj = static_cast<const CollisionObjectEx *>(obj2);
15  SolverEntity_FCL *req_entity;
16  obj->getSolverEntity(req_entity);
17  if (!req_entity) {
18  if (obj->getCollisionObjectClass() ==
21  } else
23  } else
24  return req_entity->getFclEntityType();
25 }
26 
28  const CollisionObject *obj) {
29  const CollisionObjectEx *obj_ex = static_cast<const CollisionObjectEx *>(obj);
30  if (!obj_ex) return nullptr;
31  SolverEntity_FCL *fcl_entity;
32  obj_ex->getSolverEntity(fcl_entity);
33  if (fcl_entity &&
35  return static_cast<const FCLCollisionObjectGroup *>(fcl_entity);
36  } else
37  return nullptr;
38 }
39 
41  const CollisionObject *obj) {
42  const CollisionObjectEx *obj_ex = static_cast<const CollisionObjectEx *>(obj);
43  if (!obj_ex) return nullptr;
44  SolverEntity_FCL *fcl_entity;
45  obj_ex->getSolverEntity(fcl_entity);
46 
47  if (fcl_entity &&
49  return static_cast<const FCLCollisionObject *>(fcl_entity);
50  } else
51  return nullptr;
52 }
53 
55  CollisionObjectConstPtr obj2, SolverEntity_FCL *&req_entity) {
56  const CollisionObjectEx *obj =
57  static_cast<const CollisionObjectEx *>(obj2.get());
59  obj->getSolverEntity(req_entity);
60  if (!req_entity) {
61  if (obj->getCollisionObjectClass() ==
64  } else
66  } else
67  return req_entity->getFclEntityType();
68 }
69 
71  const CollisionObject *obj2, SolverEntity_FCL *&req_entity) {
72  const CollisionObjectEx *obj = static_cast<const CollisionObjectEx *>(obj2);
74  obj->getSolverEntity(req_entity);
75  if (!req_entity) {
76  if (obj->getCollisionObjectClass() ==
79  } else
81  } else
82  return req_entity->getFclEntityType();
83 }
84 } // namespace solverFCL
85 } // namespace solvers
86 } // namespace collision
virtual CollisionObjectClass getCollisionObjectClass() const
std::shared_ptr< const CollisionObject > CollisionObjectConstPtr
const FCLCollisionObject * get_fcl_object_ptr(const CollisionObject *obj)
Definition: fcl_helpers.h:40
FCL_COLLISION_ENTITY_TYPE get_object_fcl_entity_type(const CollisionObject *obj2)
Definition: fcl_helpers.h:11
virtual FCL_COLLISION_ENTITY_TYPE getFclEntityType(void) const
virtual int getSolverEntity(solvers::solverFCL::SolverEntity_FCL *&ptr) const
Base class for CollisionObjects and some of their groups.
const FCLCollisionObjectGroup * get_fcl_object_group_ptr(const CollisionObject *obj)
Definition: fcl_helpers.h:27
Provides functionality to use different collision solvers.