Fawkes API  Fawkes Development Version
LaserDataFilter Class Reference

Laser data filter. More...

#include "filter.h"

Inheritance diagram for LaserDataFilter:

List of all members.

Public Member Functions

 LaserDataFilter ()
 Constructor.
virtual ~LaserDataFilter ()
 Virtual empty destructor.
virtual float * filtered_data ()
 Get filtered data array.
virtual unsigned int filtered_data_size ()
 Get size of filtered data array.
virtual void filtered_data (float *&data, unsigned int &data_size)
 Get filtered data array and size.
virtual void filter (const float *data, unsigned int data_size)=0
 Filter the incoming data.

Protected Attributes

float * _filtered_data
 Allocate a float array and assign your filtered values or copy through the original values if unmodified.
unsigned int _filtered_data_size
 Size in bytes of _filtered_data.
bool _free_filtered_data
 True to have _filtered_data deleted automatically on destruction.

Detailed Description

Laser data filter.

With this interface laser filter are described. These filters take laser readings as input, mangle them and return a new array of filtered laser data.

Author:
Tim Niemueller

Constructor & Destructor Documentation

LaserDataFilter::LaserDataFilter ( )

Constructor.

Definition at line 55 of file filter.cpp.

References _filtered_data, _filtered_data_size, and _free_filtered_data.

LaserDataFilter::~LaserDataFilter ( ) [virtual]

Virtual empty destructor.

Definition at line 64 of file filter.cpp.

References _filtered_data, and _free_filtered_data.


Member Function Documentation

void LaserDataFilter::filter ( const float *  data,
unsigned int  data_size 
) [pure 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.

Parameters:
datathe laser data
data_sizethe number of elements in the data array

Implemented in LaserDataFilterCascade, LaserDeadSpotsDataFilter, Laser720to360DataFilter, LaserCircleDataFilter, and LaserReverseAngleDataFilter.

float * LaserDataFilter::filtered_data ( ) [virtual]

Get filtered data array.

Returns:
a float array of the same size as the last array given to filter() or NULL if filter() was never called.

Definition at line 75 of file filter.cpp.

References _filtered_data.

Referenced by LaserSensorThread::loop().

void LaserDataFilter::filtered_data ( float *&  data,
unsigned int &  data_size 
) [virtual]

Get filtered data array and size.

Parameters:
dataupon return contains pointer to filtered data
data_sizeupon return contains data size

Definition at line 96 of file filter.cpp.

References _filtered_data, and _filtered_data_size.

unsigned int LaserDataFilter::filtered_data_size ( ) [virtual]

Get size of filtered data array.

Returns:
size of filtered data array or 0 if filter() was never called.

Definition at line 85 of file filter.cpp.

References _filtered_data_size.


Member Data Documentation

True to have _filtered_data deleted automatically on destruction.

Definition at line 40 of file filter.h.

Referenced by LaserDataFilter(), ~LaserDataFilter(), and LaserDataFilterCascade::LaserDataFilterCascade().


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