source: XIOS/trunk/src/transformation/axis_algorithm_transformation.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
RevLine 
[624]1/*!
2   \file axis_algorithm_transformation.hpp
3   \author Ha NGUYEN
4   \since 14 May 2015
[630]5   \date 29 June 2015
[624]6
7   \brief Interface for all axis transformation algorithms.
8 */
[620]9#ifndef __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
10#define __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
11
12#include "generic_algorithm_transformation.hpp"
[934]13#include "grid_transformation_factory_impl.hpp"
[620]14
15namespace xios {
16
[867]17class CAxis;
[895]18class CDomain;
[1275]19class CScalar;
[624]20/*!
21  \class CAxisAlgorithmTransformation
22  Algorithms for axis.
23*/
[620]24class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
25{
26public:
[622]27  CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource);
[895]28  CAxisAlgorithmTransformation(CAxis* axisDestination, CDomain* domainSource);
[1275]29  CAxisAlgorithmTransformation(CAxis* axisDestination, CScalar* scalarSource);
[620]30
[621]31  virtual ~CAxisAlgorithmTransformation();
32
[1704]33  virtual StdString getName() {return "Axis Trans. Filter \\n Transformation";}
34
[620]35protected:
[827]36  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs);
37
[867]38  virtual void computeExchangeGlobalIndex(const CArray<size_t,1>& globalAxisIndex,
[888]39                                          int elementType,
[867]40                                          CClientClientDHTInt::Index2VectorInfoTypeMap& globalDomainIndexOnProc);
[862]41
[620]42protected:
[624]43  //! Global index of an axis on grid destination
[622]44  std::vector<int> axisDestGlobalIndex_;
[624]45
46  //! Size of
[622]47  int axisDestGlobalSize_;
[620]48
[630]49    //! Axis on grid destination
50  CAxis* axisDest_;
51
52  //! Axis on grid source
53  CAxis* axisSrc_;
[895]54
55  //! Domain on grid source
56  CDomain* domainSrc_;
[1275]57
58  //! Scalar on grid source
59
60  CScalar* scalarSrc_;
[620]61};
62
63}
64#endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__
Note: See TracBrowser for help on using the repository browser.