source: XIOS/trunk/src/transformation/axis_algorithm_zoom.hpp @ 827

Last change on this file since 827 was 827, checked in by mhnguyen, 8 years ago

Implementing dynamic interpolation on axis

+) Change grid transformation to make it more flexible
+) Make some small improvements

Test
+) On Curie
+) All test pass

File size: 1.1 KB
RevLine 
[624]1/*!
2   \file axis_algorithm_zoom.hpp
3   \author Ha NGUYEN
4   \since 03 June 2015
5   \date 12 June 2015
6
7   \brief Algorithm for zooming on an axis.
8 */
[621]9#ifndef __XIOS_AXIS_ALGORITHM_ZOOM_HPP__
10#define __XIOS_AXIS_ALGORITHM_ZOOM_HPP__
11
[622]12#include "axis_algorithm_transformation.hpp"
[621]13#include "axis.hpp"
[622]14#include "zoom_axis.hpp"
[621]15
16namespace xios {
[624]17/*!
18  \class CAxisAlgorithmZoom
19  Implementing zoom on axis
20  A zoomed region can be considered as region that isnt masked.
21  Only this zoomed region is extracted to write on Netcdf.
22*/
[623]23class CAxisAlgorithmZoom : public CAxisAlgorithmTransformation
[621]24{
25public:
[623]26  CAxisAlgorithmZoom(CAxis* axisDestination, CAxis* axisSource, CZoomAxis* zoomAxis);
[621]27
[623]28  virtual ~CAxisAlgorithmZoom() {}
[621]29
[827]30protected:
31  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs);
[621]32
[622]33private:
[623]34  void updateAxisDestinationMask();
35  void updateZoom();
[624]36
[623]37private:
[624]38  //! Global zoom begin on axis
[622]39  StdSize zoomBegin_;
[624]40
41  //! Global zoom end on axis
[622]42  StdSize zoomEnd_;
[624]43
44  //! Global zoom size on axis
[622]45  StdSize zoomSize_;
[621]46};
47
48}
49#endif // __XIOS_AXIS_ALGORITHM_ZOOM_HPP__
Note: See TracBrowser for help on using the repository browser.