Fawkes API
Fawkes Development Version
|
Cascade of several laser filters to one. More...
#include "filters/cascade.h"
Public Member Functions | |
LaserDataFilterCascade (const std::string filter_name, unsigned int in_data_size, std::vector< Buffer *> &in) | |
Constructor. More... | |
~LaserDataFilterCascade () | |
Destructor. More... | |
virtual void | set_out_vector (std::vector< LaserDataFilter::Buffer *> &out) |
Set filtered data array. More... | |
void | add_filter (LaserDataFilter *filter) |
Add a filter to the cascade. More... | |
void | remove_filter (LaserDataFilter *filter) |
Remove a filter from the cascade. More... | |
void | delete_filters () |
Delete all filters. More... | |
bool | has_filters () const |
Check if filters have been added to the cascade. More... | |
void | filter () |
Filter the incoming data. More... | |
const std::list< LaserDataFilter * > & | get_filters () const |
Get filters. More... | |
![]() | |
LaserDataFilter (const std::string filter_name, unsigned int in_data_size, std::vector< Buffer *> &in, unsigned int out_size) | |
Constructor. More... | |
virtual | ~LaserDataFilter () |
Virtual empty destructor. More... | |
virtual std::vector< Buffer * > & | get_out_vector () |
Get filtered data array. More... | |
virtual unsigned int | get_out_data_size () |
Get size of filtered data array. More... | |
void | set_array_ownership (bool own_in, bool own_out) |
Set input/output array ownership. More... | |
bool | owns_in () const |
Check if input arrays are owned by filter. More... | |
bool | owns_out () const |
Check if output arrays are owned by filter. More... | |
Additional Inherited Members | |
![]() | |
virtual void | set_out_data_size (unsigned int data_size) |
Resize output arrays. More... | |
void | reset_outbuf (Buffer *b) |
Resets all readings in outbuf to NaN. More... | |
void | copy_to_outbuf (Buffer *outbuf, const Buffer *inbuf) |
Copies the readings from inbuf to outbuf. More... | |
![]() | |
const std::string | filter_name |
Name of the specific filter instance. More... | |
unsigned int | out_data_size |
Number of entries in output arrays. More... | |
unsigned int | in_data_size |
Number of entries in input arrays. More... | |
std::vector< Buffer * > | in |
Vector of input arrays. More... | |
std::vector< Buffer * > | out |
Vector of output arrays. More... | |
Cascade of several laser filters to one.
The filters are executed in the order they are added to the cascade.
LaserDataFilterCascade::LaserDataFilterCascade | ( | const std::string | filter_name, |
unsigned int | in_data_size, | ||
std::vector< Buffer *> & | in | ||
) |
Constructor.
filter_name | name of this filter combo |
in_data_size | number of entries input value arrays |
in | vector of input arrays |
Definition at line 36 of file cascade.cpp.
References LaserDataFilter::in, LaserDataFilter::in_data_size, LaserDataFilter::out, LaserDataFilter::out_data_size, and LaserDataFilter::set_array_ownership().
LaserDataFilterCascade::~LaserDataFilterCascade | ( | ) |
void LaserDataFilterCascade::add_filter | ( | LaserDataFilter * | filter | ) |
Add a filter to the cascade.
filter | filter to add |
Definition at line 72 of file cascade.cpp.
References LaserDataFilter::get_out_data_size(), LaserDataFilter::get_out_vector(), LaserDataFilter::out, and LaserDataFilter::out_data_size.
Referenced by LaserFilterThread::init().
void LaserDataFilterCascade::delete_filters | ( | ) |
Delete all filters.
Definition at line 92 of file cascade.cpp.
Referenced by ~LaserDataFilterCascade().
|
virtual |
Filter the incoming data.
Function shall filter the data in the "in" member vector and write output to the "out" member vector.
Implements LaserDataFilter.
Definition at line 102 of file cascade.cpp.
Referenced by has_filters().
|
inline |
|
inline |
void LaserDataFilterCascade::remove_filter | ( | LaserDataFilter * | filter | ) |
Remove a filter from the cascade.
filter | filter to remove |
Definition at line 84 of file cascade.cpp.
|
virtual |
Set filtered data array.
out | vector of output values. The vector is only accepted if it has the same size as the current one. The filter will now longer assume ownership of the arrays in the vector. Either free the memory or call set_array_ownership(). |
Reimplemented from LaserDataFilter.
Definition at line 61 of file cascade.cpp.