source: XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/axis_algorithm/axis_algorithm_inverse.hpp @ 2270

Last change on this file since 2270 was 2270, checked in by ymipsl, 3 years ago

Tracking memory leak :
Tranformations and algorithms are now managed with shared_ptr.

YM

  • Property svn:executable set to *
File size: 1.8 KB
RevLine 
[1985]1/*!
2   \file axis_algorithm_inverse.hpp
3   \author Ha NGUYEN
4   \since 14 May 2015
5   \date 09 June 2015
6
7   \brief Algorithm for inversing an axis..
8 */
9#ifndef __XIOS_AXIS_ALGORITHM_INVERSE_HPP__
10#define __XIOS_AXIS_ALGORITHM_INVERSE_HPP__
11
[2256]12#include "algorithm_transformation_no_data_modification.hpp"
[1985]13#include "transformation.hpp"
14
15namespace xios {
16
17class CAxis;
18class CInverseAxis;
19
20/*!
21  \class CAxisAlgorithmInverse
22  Inversing an axis
23*/
[2256]24class CAxisAlgorithmInverse : public CAlgorithmTransformationNoDataModification
[1985]25{
26public:
[1988]27  CAxisAlgorithmInverse(bool isSource, CAxis* axisDestination, CAxis* axisSource, CInverseAxis* inverseAxis);
[1985]28
29  virtual ~CAxisAlgorithmInverse() {}
30
31  static bool registerTrans();
[2145]32  virtual StdString getAlgoName() {return "\\ninverse_axis";}
[1985]33
34
35private:
[1999]36  CAxis* axisSrc_;
37  CAxis* axisDest_;
[1985]38
[2011]39public:
[2270]40 static shared_ptr<CGenericAlgorithmTransformation> create(bool isSource, CGrid* gridDst, CGrid* gridSrc,
[1985]41                                                CTransformation<CAxis>* transformation,
42                                                int elementPositionInGrid,
43                                                std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
44                                                std::map<int, int>& elementPositionInGridSrc2AxisPosition,
45                                                std::map<int, int>& elementPositionInGridSrc2DomainPosition,
46                                                std::map<int, int>& elementPositionInGridDst2ScalarPosition,
47                                                std::map<int, int>& elementPositionInGridDst2AxisPosition,
48                                                std::map<int, int>& elementPositionInGridDst2DomainPosition);
49  static bool dummyRegistered_;
50};
51
52}
53#endif // __XIOS_AXIS_ALGORITHM_INVERSE_HPP__
Note: See TracBrowser for help on using the repository browser.