Go to the documentation of this file. 1 #ifndef TESSERACT_COMMON_ALLOWED_COLLISION_MATRIX_H
2 #define TESSERACT_COMMON_ALLOWED_COLLISION_MATRIX_H
6 #include <boost/serialization/export.hpp>
10 #include <unordered_map>
24 std::unordered_map<tesseract_common::LinkNamesPair, std::string, tesseract_common::PairHash>;
32 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
35 using Ptr = std::shared_ptr<AllowedCollisionMatrix>;
36 using ConstPtr = std::shared_ptr<const AllowedCollisionMatrix>;
53 const std::string& link_name2,
54 const std::string& reason);
83 virtual bool isCollisionAllowed(
const std::string& link_name1,
const std::string& link_name2)
const;
111 template <
class Archive>
112 void serialize(Archive& ar,
const unsigned int version);
120 #endif // TESSERACT_SCENE_GRAPH_ALLOWED_COLLISION_MATRIX_H
virtual bool isCollisionAllowed(const std::string &link_name1, const std::string &link_name2) const
This checks if two links are allowed to be in collision.
const AllowedCollisionEntries & getAllAllowedCollisions() const
Get all of the entries in the allowed collision matrix.
std::unordered_map< tesseract_common::LinkNamesPair, std::string, tesseract_common::PairHash > AllowedCollisionEntries
bool operator==(const AllowedCollisionMatrix &rhs) const
void serialize(Archive &ar, const unsigned int version)
void insertAllowedCollisionMatrix(const AllowedCollisionMatrix &acm)
Inserts an allowable collision matrix ignoring duplicate pairs.
AllowedCollisionMatrix & operator=(const AllowedCollisionMatrix &)=default
void reserveAllowedCollisionMatrix(std::size_t size)
Reserve space for the internal data storage.
virtual ~AllowedCollisionMatrix()=default
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
std::shared_ptr< AllowedCollisionMatrix > Ptr
bool operator!=(const AllowedCollisionMatrix &rhs) const
std::shared_ptr< const AllowedCollisionMatrix > ConstPtr
bool operator==(const AllowedCollisionEntries &entries_1, const AllowedCollisionEntries &entries_2)
AllowedCollisionEntries lookup_table_
AllowedCollisionMatrix()=default
virtual void removeAllowedCollision(const std::string &link_name1, const std::string &link_name2)
Remove disabled collision pair from allowed collision matrix.
friend class boost::serialization::access
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
void clearAllowedCollisions()
Clears the list of allowed collisions, so that no collision will be allowed.
virtual void addAllowedCollision(const std::string &link_name1, const std::string &link_name2, const std::string &reason)
Disable collision between two collision objects.
std::ostream & operator<<(std::ostream &os, const AllowedCollisionMatrix &acm)
tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40