source: XIOS/dev/dev_ym/XIOS_COUPLING/src/filter/transform_filter.hpp @ 1984

Last change on this file since 1984 was 1984, checked in by ymipsl, 3 years ago

intermediate commit for new tranformation engine?
YM

  • Property svn:executable set to *
File size: 1.1 KB
Line 
1#ifndef __XIOS_TRANSFORM_FILTER_HPP__
2#define __XIOS_TRANSFORM_FILTER_HPP__
3
4#include "filter.hpp"
5#include "generic_algorithm_transformation.hpp"
6
7namespace xios
8{
9 
10  /*!
11   * A generic filter with multiple input slots wrapping any type of spatial transformations.
12   */
13  class CTransformFilter : public CFilter, IFilterEngine
14  {
15    public:
16
17      CTransformFilter(CGarbageCollector& gc, CGenericAlgorithmTransformation* algo, int dimBefore, int dimAfter, 
18                              bool detectMissingValues, double defaultValue) ;
19
20    protected:
21      /*!
22        Overriding this function to process transformations with auxillary inputs
23      */
24      CDataPacketPtr virtual apply(std::vector<CDataPacketPtr> data) ;
25      void apply(const CArray<double, 1>& dataSrc, CArray<double,1>& dataDest);
26
27    private :
28     
29     CGenericAlgorithmTransformation* algorithm_ ;
30     int dimBefore_ ;
31     int dimAfter_ ;
32     bool detectMissingValues_ ;
33     bool defaultValue_ ;
34
35  }; // class CTransformFilter
36
37
38} // namespace xios
39
40#endif //__XIOS_CSpatialTransformFilter__
Note: See TracBrowser for help on using the repository browser.