source: XIOS/trunk/src/transformation/domain_algorithm_reorder.hpp @ 1704

Last change on this file since 1704 was 1704, checked in by yushan, 5 years ago

Introducing the new graph functionality. Attribute build_workflow_graph=.TRUE. is used in the field definition section in the xml file to enable the workflow graph of the field and other fields referecing to it. A more detailed document will be available soon on the graph fuctionality.

File size: 1.7 KB
Line 
1/*!
2   \brief Algorithm for reordering domain.
3 */
4#ifndef __XIOS_DOMAIN_ALGORITHM_REORDER_HPP__
5#define __XIOS_DOMAIN_ALGORITHM_REORDER_HPP__
6
7#include "domain_algorithm_transformation.hpp"
8#include "transformation.hpp"
9
10namespace xios {
11
12class CDomain;
13class CReorderDomain;
14
15/*!
16  \class CDomainAlgorithmReorder
17  Reordering data on domain
18*/
19class CDomainAlgorithmReorder : public CDomainAlgorithmTransformation
20{
21public:
22  CDomainAlgorithmReorder(CDomain* domainDestination, CDomain* domainSource, CReorderDomain* reorderDomain);
23
24  virtual ~CDomainAlgorithmReorder() {}
25
26  static bool registerTrans();
27
28  virtual StdString getName() {return "Domain Trans. Filter \\n Reorder";}
29
30protected:
31  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs);
32
33
34private:
35
36  static CGenericAlgorithmTransformation* create(CGrid* gridDst, CGrid* gridSrc,
37                                                CTransformation<CDomain>* transformation,
38                                                int elementPositionInGrid,
39                                                std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
40                                                std::map<int, int>& elementPositionInGridSrc2AxisPosition,
41                                                std::map<int, int>& elementPositionInGridSrc2DomainPosition,
42                                                std::map<int, int>& elementPositionInGridDst2ScalarPosition,
43                                                std::map<int, int>& elementPositionInGridDst2AxisPosition,
44                                                std::map<int, int>& elementPositionInGridDst2DomainPosition);
45};
46
47}
48#endif // __XIOS_DOMAIN_ALGORITHM_REORDER_HPP__
Note: See TracBrowser for help on using the repository browser.