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

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

Implementing generic transformation algorithm (local commit)

+) Change a little bit to make sure everything work in order

Test
+) test_new_features passe with inverse

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, std::vector<ETranformationType>&);
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<CConcreteAlgo*> algosOfAnAxis_;
28
29};
30
31}
32#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.