Fawkes API Fawkes Development Version
|
Cascade of several laser filters to one. More...
#include "filters/cascade.h"
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. |
Cascade of several laser filters to one.
The filters are executed in the order they are added to the cascade.
LaserDataFilterCascade::LaserDataFilterCascade | ( | bool | own_filters = true | ) |
Constructor.
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 | ( | ) |
void LaserDataFilterCascade::add_filter | ( | LaserDataFilter * | filter | ) |
Add a filter to the cascade.
filter | filter 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.
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 LaserSensorThread::loop().
bool LaserDataFilterCascade::has_filters | ( | ) | const [inline] |
Check if filters have been added to the cascade.
Definition at line 42 of file cascade.h.
Referenced by LaserSensorThread::loop().
void LaserDataFilterCascade::remove_filter | ( | LaserDataFilter * | filter | ) |
Remove a filter from the cascade.
filter | filter to remove |
Definition at line 63 of file cascade.cpp.