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 
26 
27 #include <RobotAPI/interface/observers/ObserverFilters.h>
28 
29 namespace armarx::filters
30 {
31 
32  /**
33  * @class OffsetFilter
34  * @ingroup ObserverFilters
35  * @brief The OffsetFilter class returns values
36  * relative to value from the first call of the filter.
37  * E.g. this is useful for Forces which should be nulled
38  * at a specific moment.
39  */
40  class OffsetFilter : public ::armarx::OffsetFilterBase, public DatafieldFilter
41  {
42  public:
43  OffsetFilter();
44 
45 
46  // DatafieldFilterBase interface
47  public:
48  VariantBasePtr calculate(const Ice::Current& = Ice::emptyCurrent) const override;
49 
50  ParameterTypeList getSupportedTypes(const Ice::Current&) const override;
51 
52 
53  private:
54  bool firstRun;
55  VariantPtr initialValue;
56 
57 
58  // DatafieldFilterBase interface
59  public:
60  void
61  update(Ice::Long timestamp, const VariantBasePtr& value, const Ice::Current& c) override;
62  };
63 } // namespace armarx::filters
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:40
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:46
IceInternal::Handle<::armarx::VariantBase >
armarx::filters
Definition: AverageFilter.h:32
cxxopts::value
std::shared_ptr< Value > value()
Definition: cxxopts.hpp:855
armarx::filters::OffsetFilter::getSupportedTypes
ParameterTypeList getSupportedTypes(const Ice::Current &) const override
Definition: OffsetFilter.cpp:93
DatafieldFilter.h
armarx::VariantType::Long
const VariantTypeId Long
Definition: Variant.h:918
timestamp
std::string timestamp()
Definition: CartographerAdapter.cpp:85
armarx::filters::OffsetFilter::calculate
VariantBasePtr calculate(const Ice::Current &=Ice::emptyCurrent) const override
Definition: OffsetFilter.cpp:18
armarx::filters::OffsetFilter::update
void update(Ice::Long timestamp, const VariantBasePtr &value, const Ice::Current &c) override
Definition: OffsetFilter.cpp:107
armarx::filters::OffsetFilter::OffsetFilter
OffsetFilter()
Definition: OffsetFilter.cpp:11