source: XIOS/trunk/src/transformation/axis_algorithm_inverse.hpp @ 1852

Last change on this file since 1852 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.8 KB
RevLine 
[624]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 */
[620]9#ifndef __XIOS_AXIS_ALGORITHM_INVERSE_HPP__
10#define __XIOS_AXIS_ALGORITHM_INVERSE_HPP__
11
[622]12#include "axis_algorithm_transformation.hpp"
[933]13#include "transformation.hpp"
[620]14
15namespace xios {
[869]16
[933]17class CAxis;
18class CInverseAxis;
19
[624]20/*!
21  \class CAxisAlgorithmInverse
22  Inversing an axis
23*/
[623]24class CAxisAlgorithmInverse : public CAxisAlgorithmTransformation
[620]25{
26public:
[933]27  CAxisAlgorithmInverse(CAxis* axisDestination, CAxis* axisSource, CInverseAxis* inverseAxis);
[620]28
[623]29  virtual ~CAxisAlgorithmInverse() {}
[621]30
[933]31  static bool registerTrans();
32
[1704]33  virtual StdString getName() {return "Axis Trans. Filter \\n Inverse";}
34
[827]35protected:
36  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs);
[630]37
38private:
39  void updateAxisValue();
[933]40
41private:
42  static CGenericAlgorithmTransformation* create(CGrid* gridDst, CGrid* gridSrc,
43                                                CTransformation<CAxis>* transformation,
44                                                int elementPositionInGrid,
45                                                std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
46                                                std::map<int, int>& elementPositionInGridSrc2AxisPosition,
47                                                std::map<int, int>& elementPositionInGridSrc2DomainPosition,
48                                                std::map<int, int>& elementPositionInGridDst2ScalarPosition,
49                                                std::map<int, int>& elementPositionInGridDst2AxisPosition,
50                                                std::map<int, int>& elementPositionInGridDst2DomainPosition);
[620]51};
52
53}
54#endif // __XIOS_AXIS_ALGORITHM_INVERSE_HPP__
Note: See TracBrowser for help on using the repository browser.