Fawkes API
Fawkes Development Version
|
Merge multiple laser data arrays into one. More...
#include "min_merge.h"
Public Types | |
enum | TimestampSelectionMethod { TIMESTAMP_LATEST, TIMESTAMP_FIRST, TIMESTAMP_INDEX } |
Timestamp selection method. More... | |
Public Member Functions | |
LaserMinMergeDataFilter (const std::string filter_name, fawkes::Logger *logger, unsigned int in_data_size, std::vector< LaserDataFilter::Buffer *> &in) | |
Constructor. More... | |
LaserMinMergeDataFilter (const std::string filter_name, fawkes::Logger *logger, unsigned int in_data_size, std::vector< LaserDataFilter::Buffer *> &in, TimestampSelectionMethod timestamp_selection_method, unsigned int timestamp_index=0) | |
Constructor. More... | |
virtual void | filter () |
Filter the incoming data. 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 void | set_out_vector (std::vector< Buffer *> &out) |
Set 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... | |
Merge multiple laser data arrays into one.
For each value in the output array takes the minimum value of all input arrays.
Definition at line 34 of file min_merge.h.
Timestamp selection method.
Enumerator | |
---|---|
TIMESTAMP_LATEST | use the latest of all timestamps |
TIMESTAMP_FIRST | use the first (oldest) of all timestamps |
TIMESTAMP_INDEX | use a specific index in the input buffer list |
Definition at line 38 of file min_merge.h.
LaserMinMergeDataFilter::LaserMinMergeDataFilter | ( | const std::string | filter_name, |
fawkes::Logger * | logger, | ||
unsigned int | in_data_size, | ||
std::vector< LaserDataFilter::Buffer *> & | in | ||
) |
Constructor.
filter_name | name of this filter instance |
logger | logger |
in_data_size | number of entries input value arrays |
in | vector of input arrays |
Definition at line 43 of file min_merge.cpp.
LaserMinMergeDataFilter::LaserMinMergeDataFilter | ( | const std::string | filter_name, |
fawkes::Logger * | logger, | ||
unsigned int | in_data_size, | ||
std::vector< LaserDataFilter::Buffer *> & | in, | ||
TimestampSelectionMethod | timestamp_selection_method, | ||
unsigned int | timestamp_index = 0 |
||
) |
Constructor.
filter_name | name of this filter instance |
logger | logger |
in_data_size | number of entries input value arrays |
in | vector of input arrays |
timestamp_selection_method | method to use for timestamp selection |
timestamp_index | if timestamp selection method is TIMESTAMP_INDEX this is the index of the input buffer to choose the timestamp from |
Definition at line 62 of file min_merge.cpp.
|
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 80 of file min_merge.cpp.
References LaserDataFilter::copy_to_outbuf(), LaserDataFilter::filter_name, LaserDataFilter::in, fawkes::Logger::log_warn(), LaserDataFilter::out, LaserDataFilter::out_data_size, TIMESTAMP_FIRST, and TIMESTAMP_INDEX.