OffsetFilter.h
Go to the documentation of this file.
1 /*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package ArmarX::
17 * @author Mirko Waechter ( mirko.waechter at kit dot edu)
18 * @date 2014
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #pragma once
24 
25 #include <RobotAPI/interface/observers/ObserverFilters.h>
26 
28 
29 
30 namespace armarx::filters
31 {
32 
33  /**
34  * @class OffsetFilter
35  * @ingroup ObserverFilters
36  * @brief The OffsetFilter class returns values
37  * relative to value from the first call of the filter.
38  * E.g. this is useful for Forces which should be nulled
39  * at a specific moment.
40  */
41  class OffsetFilter :
42  public ::armarx::OffsetFilterBase,
43  public DatafieldFilter
44  {
45  public:
46 
47  OffsetFilter();
48 
49 
50  // DatafieldFilterBase interface
51  public:
52 
53  VariantBasePtr calculate(const Ice::Current& = Ice::emptyCurrent) const override;
54 
55  ParameterTypeList getSupportedTypes(const Ice::Current&) const override;
56 
57 
58  private:
59  bool firstRun;
60  VariantPtr initialValue;
61 
62 
63  // DatafieldFilterBase interface
64  public:
65  void update(Ice::Long timestamp, const VariantBasePtr& value, const Ice::Current& c) override;
66 
67  };
68 }
69 
70 
armarx::DatafieldFilter
The DatafieldFilter class is the base class for all filters and filter implementation should derive f...
Definition: DatafieldFilter.h:45
armarx::filters::OffsetFilter
The OffsetFilter class returns values relative to value from the first call of the filter....
Definition: OffsetFilter.h:41
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:43
IceInternal::Handle<::armarx::VariantBase >
armarx::filters
Definition: AverageFilter.h:31
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:926
armarx::filters::OffsetFilter::getSupportedTypes
ParameterTypeList getSupportedTypes(const Ice::Current &) const override
Definition: OffsetFilter.cpp:84
DatafieldFilter.h
armarx::VariantType::Long
const VariantTypeId Long
Definition: Variant.h:917
armarx::filters::OffsetFilter::calculate
VariantBasePtr calculate(const Ice::Current &=Ice::emptyCurrent) const override
Definition: OffsetFilter.cpp:19
armarx::filters::OffsetFilter::update
void update(Ice::Long timestamp, const VariantBasePtr &value, const Ice::Current &c) override
Definition: OffsetFilter.cpp:97
armarx::filters::OffsetFilter::OffsetFilter
OffsetFilter()
Definition: OffsetFilter.cpp:12