dune-grid  2.2.0
geometrygrid/gridfamily.hh
Go to the documentation of this file.
1 #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
2 #define DUNE_GEOGRID_GRIDFAMILY_HH
3 
4 #include <dune/common/static_assert.hh>
5 
18 
19 namespace Dune
20 {
21 
25  namespace GeoGrid
26  {
27 
28  // ExportParams
29  // ------------
30 
31  template< class HG, class CF >
33  {
34  static const bool isCoordFunction = isCoordFunctionInterface< typename CF::Interface >::value;
35  dune_static_assert( isCoordFunction, "Invalid CoordFunction." );
36 
37  public:
38  typedef HG HostGrid;
39  typedef CF CoordFunction;
40  };
41 
42 
43 
44  // GridFamily
45  // ----------
46 
47  template< class HG, class CF, class Allocator >
48  struct GridFamily
49  {
50  struct Traits
51  {
53 
54  typedef HG HostGrid;
55  typedef CF CoordFunction;
56 
57  typedef typename HostGrid::ctype ctype;
58 
59  static const int dimension = HostGrid::dimension;
60  static const int dimensionworld = CoordFunction::dimRange;
61 
64 
66  < const Grid, GeoGrid::LeafIntersectionIterator, GeoGrid::LeafIntersection >
69  < const Grid, GeoGrid::LevelIntersectionIterator, GeoGrid::LevelIntersection >
71 
74 
75  template< int codim >
76  struct Codim
77  {
80  typedef typename HostGrid::template Codim< codim >::LocalGeometry LocalGeometry;
81 
82  typedef GeoGrid::EntityPointerTraits< codim, const Grid > EntityPointerTraits;
83  typedef GeoGrid::EntityPointer< EntityPointerTraits > EntityPointerImpl;
85  typedef typename EntityPointerTraits::Entity Entity;
86 
87  typedef GeoGrid::EntitySeed< codim, const Grid > EntitySeed;
88 
89  template< PartitionIteratorType pitype >
90  struct Partition
91  {
94 
97  };
98 
101  };
102 
107 
112 
113  typedef typename HostGrid::Traits::CollectiveCommunication CollectiveCommunication;
114 
115  template< PartitionIteratorType pitype >
116  struct Partition
117  {
122  };
123  };
124  };
125 
126  } // namespace GeoGrid
127 
128 } // namespace Dune
129 
130 #endif // #ifndef DUNE_GEOGRID_GRIDFAMILY_HH