Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
tesseract_common::AllowedCollisionMatrix Class Reference

#include <allowed_collision_matrix.h>

Public Types

using ConstPtr = std::shared_ptr< const AllowedCollisionMatrix >
 
using Ptr = std::shared_ptr< AllowedCollisionMatrix >
 

Public Member Functions

virtual void addAllowedCollision (const std::string &link_name1, const std::string &link_name2, const std::string &reason)
 Disable collision between two collision objects. More...
 
 AllowedCollisionMatrix ()=default
 
 AllowedCollisionMatrix (AllowedCollisionMatrix &&)=default
 
 AllowedCollisionMatrix (const AllowedCollisionEntries &entries)
 
 AllowedCollisionMatrix (const AllowedCollisionMatrix &)=default
 
void clearAllowedCollisions ()
 Clears the list of allowed collisions, so that no collision will be allowed. More...
 
const AllowedCollisionEntriesgetAllAllowedCollisions () const
 Get all of the entries in the allowed collision matrix. More...
 
void insertAllowedCollisionMatrix (const AllowedCollisionMatrix &acm)
 Inserts an allowable collision matrix ignoring duplicate pairs. More...
 
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. More...
 
bool operator!= (const AllowedCollisionMatrix &rhs) const
 
AllowedCollisionMatrixoperator= (AllowedCollisionMatrix &&)=default
 
AllowedCollisionMatrixoperator= (const AllowedCollisionMatrix &)=default
 
bool operator== (const AllowedCollisionMatrix &rhs) const
 
virtual void removeAllowedCollision (const std::string &link_name)
 Remove disabled collision for any pair with link_name from allowed collision matrix. More...
 
virtual void removeAllowedCollision (const std::string &link_name1, const std::string &link_name2)
 Remove disabled collision pair from allowed collision matrix. More...
 
void reserveAllowedCollisionMatrix (std::size_t size)
 Reserve space for the internal data storage. More...
 
virtual ~AllowedCollisionMatrix ()=default
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

AllowedCollisionEntries lookup_table_
 

Friends

class boost::serialization::access
 
struct tesseract_common::Serialization
 

Detailed Description

Definition at line 28 of file allowed_collision_matrix.h.

Member Typedef Documentation

◆ ConstPtr

Definition at line 36 of file allowed_collision_matrix.h.

◆ Ptr

Definition at line 35 of file allowed_collision_matrix.h.

Constructor & Destructor Documentation

◆ AllowedCollisionMatrix() [1/4]

tesseract_common::AllowedCollisionMatrix::AllowedCollisionMatrix ( )
default

◆ AllowedCollisionMatrix() [2/4]

tesseract_common::AllowedCollisionMatrix::AllowedCollisionMatrix ( const AllowedCollisionEntries entries)

Definition at line 60 of file allowed_collision_matrix.cpp.

◆ ~AllowedCollisionMatrix()

virtual tesseract_common::AllowedCollisionMatrix::~AllowedCollisionMatrix ( )
virtualdefault

◆ AllowedCollisionMatrix() [3/4]

tesseract_common::AllowedCollisionMatrix::AllowedCollisionMatrix ( const AllowedCollisionMatrix )
default

◆ AllowedCollisionMatrix() [4/4]

tesseract_common::AllowedCollisionMatrix::AllowedCollisionMatrix ( AllowedCollisionMatrix &&  )
default

Member Function Documentation

◆ addAllowedCollision()

void tesseract_common::AllowedCollisionMatrix::addAllowedCollision ( const std::string &  link_name1,
const std::string &  link_name2,
const std::string &  reason 
)
virtual

Disable collision between two collision objects.

Parameters
obj1Collision object name
obj2Collision object name
reasonThe reason for disabling collison

Definition at line 69 of file allowed_collision_matrix.cpp.

◆ clearAllowedCollisions()

void tesseract_common::AllowedCollisionMatrix::clearAllowedCollisions ( )

Clears the list of allowed collisions, so that no collision will be allowed.

Definition at line 107 of file allowed_collision_matrix.cpp.

◆ getAllAllowedCollisions()

const AllowedCollisionEntries & tesseract_common::AllowedCollisionMatrix::getAllAllowedCollisions ( ) const

Get all of the entries in the allowed collision matrix.

Returns
AllowedCollisionEntries an unordered map containing all allowed collision entries. The keys of the unordered map are a std::pair of the link names in the allowed collision pair.

Definition at line 77 of file allowed_collision_matrix.cpp.

◆ insertAllowedCollisionMatrix()

void tesseract_common::AllowedCollisionMatrix::insertAllowedCollisionMatrix ( const AllowedCollisionMatrix acm)

Inserts an allowable collision matrix ignoring duplicate pairs.

Parameters
acmACM to be inserted

Definition at line 109 of file allowed_collision_matrix.cpp.

◆ isCollisionAllowed()

bool tesseract_common::AllowedCollisionMatrix::isCollisionAllowed ( const std::string &  link_name1,
const std::string &  link_name2 
) const
virtual

This checks if two links are allowed to be in collision.

Parameters
link_name1First link name
link_name2Second link anme
Returns
True if allowed to be in collision, otherwise false

Definition at line 100 of file allowed_collision_matrix.cpp.

◆ operator!=()

bool tesseract_common::AllowedCollisionMatrix::operator!= ( const AllowedCollisionMatrix rhs) const

Definition at line 123 of file allowed_collision_matrix.cpp.

◆ operator=() [1/2]

AllowedCollisionMatrix& tesseract_common::AllowedCollisionMatrix::operator= ( AllowedCollisionMatrix &&  )
default

◆ operator=() [2/2]

AllowedCollisionMatrix& tesseract_common::AllowedCollisionMatrix::operator= ( const AllowedCollisionMatrix )
default

◆ operator==()

bool tesseract_common::AllowedCollisionMatrix::operator== ( const AllowedCollisionMatrix rhs) const

Definition at line 116 of file allowed_collision_matrix.cpp.

◆ removeAllowedCollision() [1/2]

void tesseract_common::AllowedCollisionMatrix::removeAllowedCollision ( const std::string &  link_name)
virtual

Remove disabled collision for any pair with link_name from allowed collision matrix.

Parameters
link_nameCollision object name

Definition at line 85 of file allowed_collision_matrix.cpp.

◆ removeAllowedCollision() [2/2]

void tesseract_common::AllowedCollisionMatrix::removeAllowedCollision ( const std::string &  link_name1,
const std::string &  link_name2 
)
virtual

Remove disabled collision pair from allowed collision matrix.

Parameters
obj1Collision object name
obj2Collision object name

Definition at line 79 of file allowed_collision_matrix.cpp.

◆ reserveAllowedCollisionMatrix()

void tesseract_common::AllowedCollisionMatrix::reserveAllowedCollisionMatrix ( std::size_t  size)

Reserve space for the internal data storage.

Parameters
sizeThe size to reserve

Definition at line 114 of file allowed_collision_matrix.cpp.

◆ serialize()

template<class Archive >
void tesseract_common::AllowedCollisionMatrix::serialize ( Archive &  ar,
const unsigned int  version 
)
private

Definition at line 126 of file allowed_collision_matrix.cpp.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 109 of file allowed_collision_matrix.h.

◆ tesseract_common::Serialization

friend struct tesseract_common::Serialization
friend

Definition at line 110 of file allowed_collision_matrix.h.

Member Data Documentation

◆ lookup_table_

AllowedCollisionEntries tesseract_common::AllowedCollisionMatrix::lookup_table_
private

Definition at line 107 of file allowed_collision_matrix.h.


The documentation for this class was generated from the following files:


tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40