source: XIOS/trunk/src/filter/axis_algorithm_transformation.hpp @ 620

Last change on this file since 620 was 620, checked in by mhnguyen, 6 years ago

Implementing generic transformation algorithm (local commit)

+) Implement 3 important classes:

-gridTransformation to read transformation info from grid and interface with the rest of XIOS
-transformationMapping to be in charge of sending/receiving transformation info among clients
-transformationAlgorithm to represent various algorithms

+) Make some change on field to use the new classes

Test
+) Only test_new_features with inversed axis

File size: 1.2 KB
Line 
1#ifndef __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
2#define __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
3
4#include "generic_algorithm_transformation.hpp"
5#include "axis.hpp"
6
7namespace xios {
8
9class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
10{
11public:
12  CAxisAlgorithmTransformation(CAxis* axisDestination);
13  virtual ~CAxisAlgorithmTransformation() {}
14
15protected:
16  virtual void computeGlobalIndexFromGlobalIndexElement(int axisDestGlobalIndex,
17                                                        const std::vector<int>& axisSrcGlobalIndex,
18                                                        int axisPositionInGrid,
19                                                        const std::vector<int>& gridDestGlobalDim,
20                                                        const CArray<size_t,1>& globalIndexGridDestSendToServer,
21                                                        CArray<size_t,1>& globalIndexDestGrid,
22                                                        std::vector<CArray<size_t,1> >& globalIndexSrcGrid);
23  virtual void computeIndexSourceMapping() = 0;
24
25protected:
26  std::vector<int> axisDestGlobalIndex_;
27
28};
29
30}
31#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.