Fawkes API Fawkes Development Version

LaserDataFilterCascade Class Reference

Cascade of several laser filters to one. More...

#include "filters/cascade.h"

Inheritance diagram for LaserDataFilterCascade:

List of all members.

Public Member Functions

 LaserDataFilterCascade (bool own_filters=true)
 Constructor.
 ~LaserDataFilterCascade ()
 Destructor.
void add_filter (LaserDataFilter *filter)
 Add a filter to the cascade.
void remove_filter (LaserDataFilter *filter)
 Remove a filter from the cascade.
void delete_filters ()
 Delete all filters.
bool has_filters () const
 Check if filters have been added to the cascade.
void filter (const float *data, unsigned int data_size)
 Filter the incoming data.

Detailed Description

Cascade of several laser filters to one.

The filters are executed in the order they are added to the cascade.

Author:
Tim Niemueller

Definition at line 30 of file cascade.h.


Constructor & Destructor Documentation

LaserDataFilterCascade::LaserDataFilterCascade ( bool  own_filters = true)

Constructor.

Parameters:
own_filterstrue to make the cascade own filters that are added, i.e. they are deleted if the cascade is deleted.

Definition at line 35 of file cascade.cpp.

References LaserDataFilter::_free_filtered_data.

LaserDataFilterCascade::~LaserDataFilterCascade ( )

Destructor.

Definition at line 43 of file cascade.cpp.

References delete_filters().


Member Function Documentation

void LaserDataFilterCascade::add_filter ( LaserDataFilter filter)

Add a filter to the cascade.

Parameters:
filterfilter to add

Definition at line 53 of file cascade.cpp.

Referenced by LaserSensorThread::init().

void LaserDataFilterCascade::delete_filters ( )

Delete all filters.

Definition at line 71 of file cascade.cpp.

Referenced by ~LaserDataFilterCascade().

void LaserDataFilterCascade::filter ( const float *  data,
unsigned int  data_size 
) [virtual]

Filter the incoming data.

Function shall create the _filtered_data float array with the same size as the incoming data and write filtered data to this interface or copy through the original value if the filter does not apply.

Parameters:
datathe laser data
data_sizethe number of elements in the data array

Implements LaserDataFilter.

Definition at line 81 of file cascade.cpp.

References LaserDataFilter::_filtered_data, and LaserDataFilter::_filtered_data_size.

Referenced by LaserSensorThread::loop().

bool LaserDataFilterCascade::has_filters ( ) const [inline]

Check if filters have been added to the cascade.

Returns:
true if filters have been registered, false otherwise

Definition at line 42 of file cascade.h.

Referenced by LaserSensorThread::loop().

void LaserDataFilterCascade::remove_filter ( LaserDataFilter filter)

Remove a filter from the cascade.

Parameters:
filterfilter to remove

Definition at line 63 of file cascade.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends