Drake
Fields Class Reference

Allows combination of BaseField and DescriptorType for a PointCloud. More...

#include <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 DescriptorTypedescriptor_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...
 
Fieldsoperator|= (const Fields &rhs)
 Provides in-place union. More...
 
Fields operator| (const Fields &rhs) const
 Provides union. More...
 
Fieldsoperator&= (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
 
Fieldsoperator= (const Fields &)=default
 
 Fields (Fields &&)=default
 
Fieldsoperator= (Fields &&)=default
 

Friends

std::ostream & operator<< (std::ostream &os, const Fields &rhs)
 Provides human-readable output. More...
 

Detailed Description

Allows combination of BaseField and DescriptorType for a PointCloud.

You may combine multiple BaseFields, 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.

Constructor & Destructor Documentation

Fields ( const Fields )
default
Fields ( Fields &&  )
default
Fields ( BaseFieldT  base_fields,
DescriptorType  descriptor_type 
)
inline
Exceptions
std::runtime_errorif base_fields is not composed of valid BaseFields.
Fields ( BaseFieldT  base_fields)
inline
Exceptions
std::runtime_errorif base_fields is not composed of valid BaseFields.
Fields ( const DescriptorType descriptor_type)
inline

Member Function Documentation

BaseFieldT base_fields ( ) const
inline

Returns the contained base fields.

bool contains ( const Fields rhs) const
inline

Returns whether this set of fields contains (is a superset of) rhs.

Here is the caller graph for this function:

const DescriptorType& descriptor_type ( ) const
inline

Returns the contained descriptor type.

Here is the caller graph for this function:

bool empty ( ) const
inline

Returns whether both value types (BaseField + DescriptorType) are none.

bool has_base_fields ( ) const
inline

Returns whether there are any base fields contained by this set of fields.

bool has_descriptor ( ) const
inline

Returns whether there is a descriptor contained by this set of fields.

Here is the call graph for this function:

Here is the caller graph for this function:

bool operator!= ( const Fields rhs) const
inline

Here is the call graph for this function:

Fields operator& ( const Fields rhs) const
inline

Provides intersection.

Fields& operator&= ( const Fields rhs)
inline

Provides in-place intersection.

Here is the call graph for this function:

Fields& operator= ( const Fields )
default
Fields& operator= ( Fields &&  )
default
bool operator== ( const Fields rhs) const
inline
Fields operator| ( const Fields rhs) const
inline

Provides union.

See also
operator|= for preconditions.
Fields& operator|= ( const Fields rhs)
inline

Provides in-place union.

Exceptions
std::runtime_errorif multiple non-None DescriptorTypes are specified.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Fields rhs 
)
friend

Provides human-readable output.


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