source: src/grid/grid_iterator_suite.hpp@ 6f05224

Last change on this file since 6f05224 was dfed1c, checked in by Julian Iseringhausen <isering@…>, 14 years ago

Major vmg update.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1136 5161e1c8-67bf-11de-9fd5-51895aff932f

  • Property mode set to 100644
File size: 1.9 KB
Line 
1/**
2 * @file grid_iterator_suite.hpp
3 * @author Julian Iseringhausen <isering@ins.uni-bonn.de>
4 * @date Thu Apr 21 18:48:09 2011
5 *
6 * @brief Some useful grid iterators.
7 *
8 */
9
10#ifndef GRID_ITERATOR_SUITE_HPP_
11#define GRID_ITERATOR_SUITE_HPP_
12
13#include "grid/grid_iterator_set.hpp"
14#include "grid/grid_iterator.hpp"
15#include "grid/grid_properties.hpp"
16
17namespace VMG
18{
19
20class GridIteratorSuite
21{
22public:
23 GridIteratorSuite()
24 {
25 LocalIndices local;
26 SetSubgrids(local);
27 }
28
29 GridIteratorSuite(const LocalIndices& local)
30 {
31 SetSubgrids(local);
32 }
33
34 GridIteratorSuite(const GridIteratorSuite& other) :
35 local(other.local),
36 complete_grid(other.complete_grid),
37 inner_local_grid(other.inner_local_grid),
38 halo_1(other.halo_1),
39 halo_2(other.halo_2),
40 boundary_1(other.boundary_1),
41 boundary_2(other.boundary_2),
42 near_boundary_1(other.near_boundary_1),
43 near_boundary_2(other.near_boundary_2)
44 {
45 }
46
47 virtual ~GridIteratorSuite() {}
48
49 void SetSubgrids(const LocalIndices& local);
50
51 const GridIteratorSet& Local() const {return local;}
52 const GridIteratorSet& CompleteGrid() const {return complete_grid;}
53 const GridIteratorSet& InnerLocalGrid() const {return inner_local_grid;}
54
55 const GridIteratorSet3& Halo1() const {return halo_1;}
56 const GridIteratorSet3& Halo2() const {return halo_2;}
57
58 const GridIteratorSet3& Boundary1() const {return boundary_1;}
59 const GridIteratorSet3& Boundary2() const {return boundary_2;}
60
61 const GridIteratorSet3& NearBoundary1() const {return near_boundary_1;}
62 const GridIteratorSet3& NearBoundary2() const {return near_boundary_2;}
63
64private:
65 GridIteratorSet local;
66 GridIteratorSet complete_grid;
67 GridIteratorSet inner_local_grid;
68
69 GridIteratorSet3 halo_1, halo_2;
70 GridIteratorSet3 boundary_1, boundary_2;
71 GridIteratorSet3 near_boundary_1, near_boundary_2;
72};
73
74}
75
76#endif /* GRID_ITERATOR_SUITE_HPP_ */
Note: See TracBrowser for help on using the repository browser.