wbc
filter.hpp
Go to the documentation of this file.
1#ifndef WBC_TOOLS_FILTER_HPP
2#define WBC_TOOLS_FILTER_HPP
3
4#include <vector>
5#include <Eigen/Core>
6
7namespace wbc {
8
9class Filter{
10protected:
12public:
13 Filter(size_t window_size) : window_size_(window_size) {}
14 virtual ~Filter() {}
15 virtual double apply(double new_value) = 0;
16};
17
18class MovingMedianFilter : public Filter {
19protected:
20 Eigen::VectorXd values_;
21 Eigen::VectorXd sorted_values_;
22public:
23 MovingMedianFilter(size_t window_size) : Filter(window_size) {}
24
25 virtual double apply(double new_value);
26
27};
28
30protected:
31 Eigen::VectorXd values_;
32public:
33 MovingAverageFilter(size_t window_size) : Filter(window_size) {}
34
35 virtual double apply(double new_value);
36
37};
38
39}
40
41#endif // WBC_TOOLS_FILTER_HPP
size_t window_size_
Definition filter.hpp:11
Filter(size_t window_size)
Definition filter.hpp:13
virtual ~Filter()
Definition filter.hpp:14
virtual double apply(double new_value)=0
MovingAverageFilter(size_t window_size)
Definition filter.hpp:33
virtual double apply(double new_value)
Definition filter.cpp:25
Eigen::VectorXd values_
Definition filter.hpp:31
Eigen::VectorXd values_
Definition filter.hpp:20
virtual double apply(double new_value)
Definition filter.cpp:6
MovingMedianFilter(size_t window_size)
Definition filter.hpp:23
Eigen::VectorXd sorted_values_
Definition filter.hpp:21
Definition ContactsAccelerationConstraint.cpp:3