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

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

Final testing transfomation algorithm: inverse axis (local commit)

+) Make some minor change to make sure one element (axis or domain) be able to have several similar transformation

Test
+) On Curie
+) test_new_feature: test passed with correct data written

File size: 1.3 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#include "concrete_algo.hpp"
7
8namespace xios {
9
10class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
11{
12public:
13  CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource);
14
15  virtual ~CAxisAlgorithmTransformation();
16
17protected:
18  virtual void computeGlobalIndexFromGlobalIndexElement(int axisDestGlobalIndex,
19                                                        const std::vector<int>& axisSrcGlobalIndex,
20                                                        int axisPositionInGrid,
21                                                        const std::vector<int>& gridDestGlobalDim,
22                                                        const CArray<size_t,1>& globalIndexGridDestSendToServer,
23                                                        CArray<size_t,1>& globalIndexDestGrid,
24                                                        std::vector<CArray<size_t,1> >& globalIndexSrcGrid);
25  void computeIndexSourceMapping();
26protected:
27  std::vector<int> axisDestGlobalIndex_;
28  int axisDestGlobalSize_;
29
30};
31
32}
33#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.