FKIE Message Filters
Improved filters for processing ROS messages
Namespaces | Classes | Typedefs | Enumerations | Functions
fkie_message_filters Namespace Reference

Primary namespace. More...

Namespaces

 combiner_policies
 Combiner policies.
 

Classes

class  Buffer
 Store and forward data. More...
 
class  CameraPublisher
 Publish consumed data to ROS camera topics. More...
 
class  CameraSubscriber
 Subscribe to ROS camera topics as data provider. More...
 
class  Combiner
 Combine multiple sources into a single one. More...
 
class  Divider
 Split an N-ary source into N unary ones. More...
 
class  Filter
 Typed base class for filters. More...
 
class  FilterBase
 Base class for filters. More...
 
class  ImagePublisher
 Publish consumed data to a ROS image topic. More...
 
class  ImageSubscriber
 Subscribe to a ROS image topic as data provider. More...
 
class  IO
 Group multiple data types as filter input or output. More...
 
class  Publisher
 Publish consumed data on a ROS topic. More...
 
class  PublisherBase
 Base class for ROS publishers in a filter pipeline. More...
 
class  Selector
 Reorder or reduce an N-ary filter. More...
 
class  Sequencer
 Enforce correct temporal order. More...
 
class  SimpleUserFilter
 Simplified filter with user-defined callback function. More...
 
class  Sink
 Base class for data consumers. More...
 
class  Source
 Base class for data providers. More...
 
class  Subscriber
 Subscribe to a ROS topic as data provider. More...
 
class  SubscriberBase
 Base class for ROS subscribers in a filter pipeline. More...
 
class  TfFilter
 Wait for TF transformations for incoming messages. More...
 
class  UserFilter
 Generic filter with user-defined callback function. More...
 
class  UserSource
 Manually operated data source. More...
 

Typedefs

using Connection = boost::signals2::connection
 Tracks connections from sources to sinks.
 
template<class... Types>
using FilterCB = typename helpers::FilterCB< Types... >::Type
 Callback function for customizable filters. More...
 

Enumerations

enum  BufferPolicy { BufferPolicy::Discard, BufferPolicy::Queue, BufferPolicy::Passthru }
 Buffer policy. More...
 
enum  TfFilterResult {
  TfFilterResult::TransformAvailable, TfFilterResult::EmptyFrameID, TfFilterResult::TransformExpired, TfFilterResult::TransformFailed,
  TfFilterResult::QueueOverflow, TfFilterResult::UnknownFailure
}
 TF transformation results. More...
 

Functions

template<typename Filter1 , typename Filter2 , typename... MoreFilters>
void chain (Filter1 &flt1, Filter2 &flt2, MoreFilters &... filters) noexcept
 Convenience function to chain multiple filters. More...
 

Detailed Description

Primary namespace.

Typedef Documentation

◆ FilterCB

template<class... Types>
using fkie_message_filters::FilterCB = typedef typename helpers::FilterCB<Types...>::Type

Callback function for customizable filters.

See also
UserFilter, SimpleUserFilter

Enumeration Type Documentation

◆ BufferPolicy

Buffer policy.

An enumeration of the possible policies which can be enacted by a Buffer.

Enumerator
Discard 

Discard all data.

Turns the buffer into a black hole that lets all incoming data vanish.

Queue 

Queue for later use.

Stores incoming data for until consumed by .

Passthru 

Forward data immediately.

All data is forwarded to the connected sinks immediately, as if the buffer did not exist.

◆ TfFilterResult

TF transformation results.

These results are used to indiciate specific failure modes in the TfFilter failure callback.

See also
TfFilter::set_filter_failure_function()
Enumerator
TransformAvailable 

Success.

EmptyFrameID 

The message has an empty TF frame ID and cannot be transformed.

TransformExpired 

The requested transform is no longer available, likely because the message is too old.

TransformFailed 

The requested transform is unavailable.

QueueOverflow 

The message has been dropped because of a queue overflow.

UnknownFailure 

Unknown failure reason.

Function Documentation

◆ chain()

template<typename Filter1 , typename Filter2 , typename... MoreFilters>
void fkie_message_filters::chain ( Filter1 &  flt1,
Filter2 &  flt2,
MoreFilters &...  filters 
)
noexcept

Convenience function to chain multiple filters.

Basically calls Source::connect_to_sink() on adjacent filters to form a chain.