dune-grid
2.2.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
dune
grid
geometrygrid
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
6
#include <
dune/grid/common/grid.hh
>
7
#include <
dune/grid/geometrygrid/capabilities.hh
>
8
#include <
dune/grid/geometrygrid/declaration.hh
>
9
#include <
dune/grid/geometrygrid/entity.hh
>
10
#include <
dune/grid/geometrygrid/entityseed.hh
>
11
#include <
dune/grid/geometrygrid/entitypointer.hh
>
12
#include <
dune/grid/geometrygrid/geometry.hh
>
13
#include <
dune/grid/geometrygrid/intersection.hh
>
14
#include <
dune/grid/geometrygrid/intersectioniterator.hh
>
15
#include <
dune/grid/geometrygrid/iterator.hh
>
16
#include <
dune/grid/geometrygrid/idset.hh
>
17
#include <
dune/grid/geometrygrid/indexsets.hh
>
18
19
namespace
Dune
20
{
21
25
namespace
GeoGrid
26
{
27
28
// ExportParams
29
// ------------
30
31
template
<
class
HG,
class
CF >
32
class
ExportParams
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
{
52
typedef
GeometryGrid< HG, CF, Allocator >
Grid
;
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
62
typedef
Dune::Intersection< const Grid, GeoGrid::LeafIntersection >
LeafIntersection
;
63
typedef
Dune::Intersection< const Grid, GeoGrid::LevelIntersection >
LevelIntersection
;
64
65
typedef
Dune::IntersectionIterator
66
<
const
Grid
,
GeoGrid::LeafIntersectionIterator
,
GeoGrid::LeafIntersection
>
67
LeafIntersectionIterator
;
68
typedef
Dune::IntersectionIterator
69
<
const
Grid
,
GeoGrid::LevelIntersectionIterator
,
GeoGrid::LevelIntersection
>
70
LevelIntersectionIterator
;
71
72
typedef
Dune::EntityIterator< 0, const Grid, GeoGrid::HierarchicIterator< const Grid >
>
73
HierarchicIterator
;
74
75
template
<
int
codim >
76
struct
Codim
77
{
78
typedef
Dune::GeoGrid::Geometry
<
dimension
-codim,
dimensionworld
,
const
Grid
>
GeometryImpl
;
79
typedef
Dune::Geometry
<
dimension
-codim,
dimensionworld
,
const
Grid
,
Dune::GeoGrid::Geometry
>
Geometry
;
80
typedef
typename
HostGrid::template
Codim< codim >::LocalGeometry
LocalGeometry
;
81
82
typedef
GeoGrid::EntityPointerTraits< codim, const Grid >
EntityPointerTraits
;
83
typedef
GeoGrid::EntityPointer< EntityPointerTraits >
EntityPointerImpl
;
84
typedef
Dune::EntityPointer< const Grid, EntityPointerImpl >
EntityPointer
;
85
typedef
typename
EntityPointerTraits::Entity
Entity
;
86
87
typedef
GeoGrid::EntitySeed< codim, const Grid >
EntitySeed
;
88
89
template
< PartitionIteratorType pitype >
90
struct
Partition
91
{
92
typedef
GeoGrid::LeafIteratorTraits< codim, pitype, const Grid >
LeafIteratorTraits
;
93
typedef
Dune::EntityIterator< codim, const Grid, GeoGrid::Iterator< LeafIteratorTraits >
>
LeafIterator
;
94
95
typedef
GeoGrid::LevelIteratorTraits< codim, pitype, const Grid >
LevelIteratorTraits
;
96
typedef
Dune::EntityIterator< codim, const Grid, GeoGrid::Iterator< LevelIteratorTraits >
>
LevelIterator
;
97
};
98
99
typedef
typename
Partition< All_Partition >::LeafIterator
LeafIterator
;
100
typedef
typename
Partition< All_Partition >::LevelIterator
LevelIterator
;
101
};
102
103
typedef
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LeafIndexSet >
104
LeafIndexSet
;
105
typedef
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LevelIndexSet >
106
LevelIndexSet
;
107
108
typedef
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::GlobalIdSet >
109
GlobalIdSet
;
110
typedef
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::LocalIdSet >
111
LocalIdSet
;
112
113
typedef
typename
HostGrid::Traits::CollectiveCommunication
CollectiveCommunication
;
114
115
template
< PartitionIteratorType pitype >
116
struct
Partition
117
{
118
typedef
Dune::GridView< DefaultLeafGridViewTraits< const Grid, pitype >
>
119
LeafGridView
;
120
typedef
Dune::GridView< DefaultLevelGridViewTraits< const Grid, pitype >
>
121
LevelGridView
;
122
};
123
};
124
};
125
126
}
// namespace GeoGrid
127
128
}
// namespace Dune
129
130
#endif // #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
Generated on Mon May 20 2013 01:15:33 for dune-grid by
1.8.3.1