25#ifndef TESSERACT_COLLISION_CORE_UTILS_H
26#define TESSERACT_COLLISION_CORE_UTILS_H
54template <
typename ManagerType>
61 return acm.isCollisionAllowed(str1, str2);
72template <
typename ManagerType>
74 const std::unordered_map<std::string, bool>& modify_object_enabled)
76 for (
const auto& entry : modify_object_enabled)
79 manager.enableCollisionObject(entry.first);
81 manager.disableCollisionObject(entry.first);
Definition: allowed_collision_matrix.h:23
auto acm
Definition: collision_core_unit.cpp:33
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
Definition: bullet_cast_bvh_manager.h:49
void applyIsContactAllowedFnOverride(ManagerType &manager, const tesseract_common::AllowedCollisionMatrix &acm, ACMOverrideType type)
Applies ACM to contact manager using override type.
Definition: utils.h:55
IsContactAllowedFn combineContactAllowedFn(const IsContactAllowedFn &original, const IsContactAllowedFn &override, ACMOverrideType type=ACMOverrideType::OR)
Combines two IsContactAllowedFns using the override type.
Definition: utils.cpp:30
void applyModifyObjectEnabled(ManagerType &manager, const std::unordered_map< std::string, bool > &modify_object_enabled)
Loops over the map and for every object string either enables or disables it based on the value (true...
Definition: utils.h:73
ACMOverrideType
Identifies how the provided AllowedCollisionMatrix should be applied relative to the isAllowedFn in t...
Definition: types.h:373
@ OR
New IsContactAllowedFn combines the contact manager fn and the ACM generated fn with and OR.
std::function< bool(const std::string &, const std::string &)> IsContactAllowedFn
Should return true if contact allowed, otherwise false.
Definition: types.h:59
Tesseracts Collision Common Types.
mCollisionCheckConfig contact_request type
Definition: tesseract_environment_collision.cpp:103
DiscreteContactManager::Ptr manager
Definition: tesseract_environment_collision.cpp:109