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

Last change on this file since 624 was 624, checked in by mhnguyen, 9 years ago

Final tests of zoom and inverse on axis

+) Modify test_client and test_complete to work with new grid definition
+) Correct some bugs causing memory leak
+) Clean abundant code
+) Add more comments to new files

Test
+) On Curie
+) test_client and test_complete pass with correct results

File size: 1.1 KB
Line 
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 */
9#ifndef __XIOS_AXIS_ALGORITHM_ZOOM_HPP__
10#define __XIOS_AXIS_ALGORITHM_ZOOM_HPP__
11
12#include "axis_algorithm_transformation.hpp"
13#include "axis.hpp"
14#include "zoom_axis.hpp"
15
16namespace xios {
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*/
23class CAxisAlgorithmZoom : public CAxisAlgorithmTransformation
24{
25public:
26  CAxisAlgorithmZoom(CAxis* axisDestination, CAxis* axisSource, CZoomAxis* zoomAxis);
27
28  virtual ~CAxisAlgorithmZoom() {}
29
30  virtual void computeIndexSourceMapping();
31
32private:
33  void updateAxisDestinationMask();
34  void updateZoom();
35
36private:
37  //! Global zoom begin on axis
38  StdSize zoomBegin_;
39
40  //! Global zoom end on axis
41  StdSize zoomEnd_;
42
43  //! Global zoom size on axis
44  StdSize zoomSize_;
45
46private:
47  //! Axis on grid destination
48  CAxis* axisDest_;
49
50  //! Axis on grid source
51  CAxis* axisSrc_;
52};
53
54}
55#endif // __XIOS_AXIS_ALGORITHM_ZOOM_HPP__
Note: See TracBrowser for help on using the repository browser.