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.
Definition at line 30 of file cascade.h.
| 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.
1.6.1