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 fully-qualified scoped names of collision filter groups and bodies.

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 fully-qualified name is only added once.

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

Public Member Functions

 CollisionFilterGroups ()=default
 
bool operator== (const CollisionFilterGroups &) const
 
void AddGroup (std::string_view 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
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 CollisionFilterGroups (const CollisionFilterGroups &)=default
 
CollisionFilterGroupsoperator= (const CollisionFilterGroups &)=default
 
 CollisionFilterGroups (CollisionFilterGroups &&)=default
 
CollisionFilterGroupsoperator= (CollisionFilterGroups &&)=default
 

Constructor & Destructor Documentation

◆ CollisionFilterGroups() [1/3]

◆ CollisionFilterGroups() [2/3]

◆ CollisionFilterGroups() [3/3]

CollisionFilterGroups ( )
default

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 ( std::string_view  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= ( CollisionFilterGroups &&  )
default

◆ operator=() [2/2]

CollisionFilterGroups& operator= ( const CollisionFilterGroups )
default

◆ operator==()

bool operator== ( const CollisionFilterGroups ) const

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