source: XIOS3/trunk/src/transformation/axis_algorithm/axis_algorithm_redistribute.hpp @ 2507

Last change on this file since 2507 was 2507, checked in by ymipsl, 13 months ago

Merging XIOS3_ATTACHED branch into XIOS3 trunk.

YM

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1/*!
2   \brief Algorithm for redistributing axis.
3 */
4#ifndef __XIOS_AXIS_ALGORITHM_REDISTRIBUTE_HPP__
5#define __XIOS_AXIS_ALGORITHM_REDISTRIBUTE_HPP__
6
7#include "algorithm_transformation_transfer.hpp"
8#include "transformation.hpp"
9
10namespace xios
11{
12
13  class CAxis;
14  class CRedistributeAxis;
15
16  /*!
17    \class CAxisAlgorithmReorder
18    Redistribute data on axis
19  */
20  class CAxisAlgorithmRedistribute : public CAlgorithmTransformationTransfer 
21  {
22    public:
23      CAxisAlgorithmRedistribute(bool isSource, CAxis* axisDestination, CAxis* axisSource, CRedistributeAxis* redistributeAxis);
24
25      virtual ~CAxisAlgorithmRedistribute() {}
26
27      static bool registerTrans();
28      virtual StdString getAlgoName() {return "\\nredistribute_axis";}
29
30 
31    public:
32      static shared_ptr<CGenericAlgorithmTransformation> create(bool isSource, CGrid* gridDst, CGrid* gridSrc,
33                                                     CTransformation<CAxis>* transformation,
34                                                     int elementPositionInGrid,
35                                                     std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
36                                                     std::map<int, int>& elementPositionInGridSrc2AxisPosition,
37                                                     std::map<int, int>& elementPositionInGridSrc2DomainPosition,
38                                                     std::map<int, int>& elementPositionInGridDst2ScalarPosition,
39                                                     std::map<int, int>& elementPositionInGridDst2AxisPosition,
40                                                     std::map<int, int>& elementPositionInGridDst2DomainPosition);
41      static bool dummyRegistered_;
42};
43
44}
45#endif // __XIOS_DOMAIN_ALGORITHM_REDISTRIBUTE_HPP__
Note: See TracBrowser for help on using the repository browser.