LaserDataFilterCascade Class Reference

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

#include <filters/cascade.h>

Inheritance diagram for LaserDataFilterCascade:

[legend]
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_filters true 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:
filter filter to add

Definition at line 53 of file cascade.cpp.

References filter().

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:
data the laser data
data_size the 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 add_filter(), LaserSensorThread::loop(), and remove_filter().

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:
filter filter to remove

Definition at line 63 of file cascade.cpp.

References filter().


The documentation for this class was generated from the following files:
Generated on Tue Feb 22 13:31:33 2011 for Fawkes API by  doxygen 1.4.7