source: XIOS/trunk/src/filter/generic_filter.hpp @ 619

Last change on this file since 619 was 619, checked in by mhnguyen, 9 years ago

Implementing the first prototype of filter

+) Create new class filter
+) Implement class for specific algorithm
+) Implement inversing algorithm

Test
+) On Curie
+) Grid with one axis: passed

File size: 837 bytes
Line 
1#ifndef __XIOS_GENERIC_FILTER_HPP__
2#define __XIOS_GENERIC_FILTER_HPP__
3
4#include "visitable.hpp"
5#include "field.hpp"
6#include "grid.hpp"
7#include "distribution_client.hpp"
8
9namespace xios {
10
11class CGenericFilter : public virtual CBaseVisitable<>
12{
13public:
14  DEFINE_VISITABLE()
15public:
16  CGenericFilter(CGrid* gridInput, CGrid* gridOutput);
17
18  virtual ~CGenericFilter();
19
20  void setInputs(const std::vector<CField*>& fieldInputs);
21  void setOutputs(const std::vector<CField*>& fieldOutputs);
22  void setOutput(CField* fieldOutput);
23
24  const std::vector<CField*> getInputs();
25  std::vector<CField*> getOutputs();
26
27public:
28  CGrid* gridInput;
29  CGrid* gridOutput;
30
31protected:
32  std::vector<CField*> fieldInputs_;
33  std::vector<CField*> fieldOutputs_;
34  CDistributionClient* distributionClient_;
35};
36
37}
38#endif // __XIOS_GENERIC_FILTER_HPP__
Note: See TracBrowser for help on using the repository browser.