Go to the documentation of this file.
25 #ifndef TESSERACT_COLLISION_CORE_UTILS_H
26 #define TESSERACT_COLLISION_CORE_UTILS_H
52 template <
typename ManagerType>
58 auto override = std::make_shared<tesseract_common::ACMContactAllowedValidator>(acm);
68 template <
typename ManagerType>
70 const std::unordered_map<std::string, bool>& modify_object_enabled)
72 for (
const auto& entry : modify_object_enabled)
75 manager.enableCollisionObject(entry.first);
77 manager.disableCollisionObject(entry.first);
82 #endif // TESSERACT_COLLISION_TYPES_H
Tesseracts Collision Forward Declarations.
@ OR
New ContactAllowedValidator combines the contact manager fn and the ACM generated fn with and OR.
ACMOverrideType
Identifies how the provided AllowedCollisionMatrix should be applied relative to the isAllowedFn in t...
void applyContactAllowedValidatorOverride(ManagerType &manager, const tesseract_common::AllowedCollisionMatrix &acm, ACMOverrideType type)
Applies ACM to contact manager using override type.
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...
tesseract_common::ContactAllowedValidator::ConstPtr combineContactAllowedValidators(tesseract_common::ContactAllowedValidator::ConstPtr original, tesseract_common::ContactAllowedValidator::ConstPtr override, ACMOverrideType type=ACMOverrideType::OR)
Combines two ContactAllowedValidator using the override type.