Drake
Drake C++ Documentation
CollisionFilterGroups Class Reference

Detailed Description

This is storage for parsed collision filter groups and group pairs.

This data may be useful to users needing to compose further collision filters in code, without having to restate the data already captured in model files.

The contents of this object will be made up of names of collision filter groups and bodies. By convention, the name strings are treated as scoped names.

Note that this object enforces few invariants on the data. In the expected workflow, the parser will add groups and exclusion pairs found during parsing. The only condition checked here is that a group with a given name is only added once.

#include <drake/multibody/parsing/collision_filter_groups.h>

Public Member Functions

 CollisionFilterGroups ()
 
 ~CollisionFilterGroups ()
 
bool operator== (const CollisionFilterGroups &) const
 
void AddGroup (const std::string &name, const std::set< std::string > &members)
 Adds a new collision filter group. More...
 
void AddExclusionPair (const SortedPair< std::string > &pair)
 Adds an exclusion pair between two collision filter groups. More...
 
bool empty () const
 
const std::map< std::string, std::set< std::string > > & groups () const
 
const std::set< SortedPair< std::string > > & exclusion_pairs () const
 
std::string to_string () const
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 CollisionFilterGroups (const CollisionFilterGroups &)
 
CollisionFilterGroupsoperator= (const CollisionFilterGroups &)
 
 CollisionFilterGroups (CollisionFilterGroups &&)
 
CollisionFilterGroupsoperator= (CollisionFilterGroups &&)
 

Constructor & Destructor Documentation

◆ CollisionFilterGroups() [1/3]

◆ CollisionFilterGroups() [2/3]

◆ CollisionFilterGroups() [3/3]

◆ ~CollisionFilterGroups()

Member Function Documentation

◆ AddExclusionPair()

void AddExclusionPair ( const SortedPair< std::string > &  pair)

Adds an exclusion pair between two collision filter groups.

Parameters
paira pair of fully-qualified scoped names of groups.
Note
A pair can consist of the same name twice, which means the pair defines a rule where all members of the group exclude each other. Adding an already defined pair does nothing.

◆ AddGroup()

void AddGroup ( const std::string &  name,
const std::set< std::string > &  members 
)

Adds a new collision filter group.

Parameters
namethe fully-qualified scoped name of the group being defined.
membersthe fully-qualified scoped names of the member bodies.
Precondition
name is not already a defined group in this object.

◆ empty()

bool empty ( ) const
Returns
true iff both groups() and exclusion_pairs() are empty.

◆ exclusion_pairs()

const std::set<SortedPair<std::string> >& exclusion_pairs ( ) const
Returns
the pairs stored by prior calls to AddExclusionPair().

◆ groups()

const std::map<std::string, std::set<std::string> >& groups ( ) const
Returns
the groups stored by prior calls to AddGroup().

◆ operator=() [1/2]

CollisionFilterGroups& operator= ( const CollisionFilterGroups )

◆ operator=() [2/2]

◆ operator==()

bool operator== ( const CollisionFilterGroups ) const

◆ to_string()

std::string to_string ( ) const
Returns
a multi-line human-readable representation of this' contents.

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