Allows combination of BaseField
and DescriptorType
for a PointCloud
.
You may combine multiple BaseField
s, but you may have only zero or one DescriptorType
.
This provides the mechanism to use basic bit-mask operators (| &) to combine / intersect fields for convenience.
#include <drake/perception/point_cloud_flags.h>
Public Member Functions | |
Fields (BaseFieldT base_fields, DescriptorType descriptor_type) | |
Fields (BaseFieldT base_fields) | |
Fields (const DescriptorType &descriptor_type) | |
BaseFieldT | base_fields () const |
Returns the contained base fields. More... | |
bool | has_base_fields () const |
Returns whether there are any base fields contained by this set of fields. More... | |
const DescriptorType & | descriptor_type () const |
Returns the contained descriptor type. More... | |
bool | has_descriptor () const |
Returns whether there is a descriptor contained by this set of fields. More... | |
Fields & | operator|= (const Fields &rhs) |
Provides in-place union. More... | |
Fields | operator| (const Fields &rhs) const |
Provides union. More... | |
Fields & | operator&= (const Fields &rhs) |
Provides in-place intersection. More... | |
Fields | operator & (const Fields &rhs) const |
Provides intersection. More... | |
bool | empty () const |
Returns whether both value types (BaseField + DescriptorType) are none. More... | |
bool | contains (const Fields &rhs) const |
Returns whether this set of fields contains (is a superset of) rhs . More... | |
bool | operator== (const Fields &rhs) const |
bool | operator!= (const Fields &rhs) const |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
Fields (const Fields &)=default | |
Fields & | operator= (const Fields &)=default |
Fields (Fields &&)=default | |
Fields & | operator= (Fields &&)=default |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Fields &rhs) |
Provides human-readable output. More... | |
Fields | ( | BaseFieldT | base_fields, |
DescriptorType | descriptor_type | ||
) |
std::exception | if base_fields is not composed of valid BaseField s. |
Fields | ( | BaseFieldT | base_fields | ) |
std::exception | if base_fields is not composed of valid BaseField s. |
Fields | ( | const DescriptorType & | descriptor_type | ) |
BaseFieldT base_fields | ( | ) | const |
Returns the contained base fields.
bool contains | ( | const Fields & | rhs | ) | const |
Returns whether this set of fields contains (is a superset of) rhs
.
const DescriptorType& descriptor_type | ( | ) | const |
Returns the contained descriptor type.
bool empty | ( | ) | const |
Returns whether both value types (BaseField + DescriptorType) are none.
bool has_base_fields | ( | ) | const |
Returns whether there are any base fields contained by this set of fields.
bool has_descriptor | ( | ) | const |
Returns whether there is a descriptor contained by this set of fields.
bool operator!= | ( | const Fields & | rhs | ) | const |
bool operator== | ( | const Fields & | rhs | ) | const |
Provides in-place union.
std::exception | if multiple non-None DescriptorType s are specified. |
|
friend |
Provides human-readable output.