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

Last change on this file since 622 was 622, checked in by mhnguyen, 9 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
RevLine 
[620]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"
[621]6#include "concrete_algo.hpp"
[620]7
8namespace xios {
9
10class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
11{
12public:
[622]13  CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource);
[620]14
[621]15  virtual ~CAxisAlgorithmTransformation();
16
[620]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);
[621]25  void computeIndexSourceMapping();
[620]26protected:
[622]27  std::vector<int> axisDestGlobalIndex_;
28  int axisDestGlobalSize_;
[620]29
30};
31
32}
33#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.