Fawkes API  Fawkes Development Version
LaserDataFilterCascade Class Reference

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

#include "filters/cascade.h"

Inheritance diagram for LaserDataFilterCascade:

List of all members.

Public Member Functions

 LaserDataFilterCascade (unsigned int in_data_size, std::vector< Buffer * > &in)
 Constructor.
 ~LaserDataFilterCascade ()
 Destructor.
virtual void set_out_vector (std::vector< LaserDataFilter::Buffer * > &out)
 Set filtered data array.
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 ()
 Filter the incoming data.
const std::list
< LaserDataFilter * > & 
get_filters () const
 Get filters.

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

Constructor & Destructor Documentation

LaserDataFilterCascade::LaserDataFilterCascade ( unsigned int  in_data_size,
std::vector< Buffer * > &  in 
)

Constructor.

Parameters:
in_data_sizenumber of entries input value arrays
invector of input arrays

Definition at line 35 of file cascade.cpp.

References LaserDataFilter::out_data_size, LaserDataFilter::in_data_size, LaserDataFilter::out, LaserDataFilter::in, and LaserDataFilter::set_array_ownership().

LaserDataFilterCascade::~LaserDataFilterCascade ( )

Destructor.

Definition at line 46 of file cascade.cpp.

References delete_filters().


Member Function Documentation

void LaserDataFilterCascade::add_filter ( LaserDataFilter filter)

Add a filter to the cascade.

Parameters:
filterfilter to add

Definition at line 70 of file cascade.cpp.

References LaserDataFilter::out_data_size, LaserDataFilter::get_out_data_size(), LaserDataFilter::out, and LaserDataFilter::get_out_vector().

Referenced by LaserFilterThread::init().

void LaserDataFilterCascade::delete_filters ( )

Delete all filters.

Definition at line 90 of file cascade.cpp.

Referenced by ~LaserDataFilterCascade().

void LaserDataFilterCascade::filter ( ) [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 100 of file cascade.cpp.

const std::list<LaserDataFilter *>& LaserDataFilterCascade::get_filters ( ) const [inline]

Get filters.

Returns:
list of active filters.

Definition at line 50 of file cascade.h.

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 44 of file cascade.h.

void LaserDataFilterCascade::remove_filter ( LaserDataFilter filter)

Remove a filter from the cascade.

Parameters:
filterfilter to remove

Definition at line 82 of file cascade.cpp.

void LaserDataFilterCascade::set_out_vector ( std::vector< LaserDataFilter::Buffer * > &  out) [virtual]

Set filtered data array.

Parameters:
outvector 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 59 of file cascade.cpp.


The documentation for this class was generated from the following files: