source: flair-src/trunk/lib/FlairFilter/src/ButterworthLowPass.h@ 22

Last change on this file since 22 was 15, checked in by Bayard Gildas, 8 years ago

sources reformatted with flair-format-dir script

File size: 2.4 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file ButterworthLowPass.h
7 * \brief Class defining a Butterworth low pass filter
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2013/12/10
10 * \version 4.0
11 */
12
13#ifndef BUTTERWORTHLOWPASS_H
14#define BUTTERWORTHLOWPASS_H
15
16#include <IODevice.h>
17
18namespace flair {
19namespace core {
20class cvmatrix;
21}
22namespace gui {
23class LayoutPosition;
24}
25}
26
27class ButterworthLowPass_impl;
28
29namespace flair {
30namespace filter {
31/*! \class ButterworthLowPass
32*
33* \brief Class defining a Butterworth low pass filter
34*/
35class ButterworthLowPass : public core::IODevice {
36public:
37 /*!
38 * \brief Constructor
39 *
40 * Construct a ButterworthLowPass at position. \n
41 * After calling this function, position will be deleted as it is no longer
42 *usefull. \n
43 * The filter is automatically updated when parent's
44 * IODevice::ProcessUpdate is called.
45 *
46 * \param parent parent
47 * \param position position to display settings
48 * \param name name
49 * \param order order of the filter
50 */
51 ButterworthLowPass(const IODevice *parent,
52 const gui::LayoutPosition *position, std::string name,
53 int order);
54
55 /*!
56 * \brief Constructor
57 *
58 * Construct a ButterworthLowPass at position. \n
59 * The ButterworthLowPass will automatically be child of position->getLayout()
60 *Layout. After calling this function,
61 * position will be deleted as it is no longer usefull. \n
62 * The filter is updated manually with UpdateFrom method. \n
63 *
64 * \param position position to display settings
65 * \param name name
66 * \param order order of the filter
67 */
68 ButterworthLowPass(const gui::LayoutPosition *position, std::string name,
69 int order);
70
71 /*!
72 * \brief Destructor
73 *
74 */
75 ~ButterworthLowPass();
76
77 /*!
78 * \brief Output value
79 *
80 * \return filtered output
81 */
82 float Output(void) const;
83
84 /*!
85 * \brief Output matrix
86 *
87 * \return filtered output
88 */
89 core::cvmatrix *Matrix(void) const;
90
91 /*!
92 * \brief Update using provided datas
93 *
94 * Reimplemented from IODevice.
95 *
96 * \param data data from the parent to process
97 */
98 void UpdateFrom(const core::io_data *data);
99
100private:
101 class ButterworthLowPass_impl *pimpl_;
102};
103} // end namespace filter
104} // end namespace flair
105#endif // BUTTERWORTHLOWPASS_H
Note: See TracBrowser for help on using the repository browser.