dune-fem 2.12-git
Loading...
Searching...
No Matches
defaultgridpartentity.hh
Go to the documentation of this file.
1#ifndef DUNE_FEM_GRIDPART_COMMON_DEFAULTGRIDPARTENTITY_HH
2#define DUNE_FEM_GRIDPART_COMMON_DEFAULTGRIDPARTENTITY_HH
3
4#include <type_traits>
5
7
8#include <dune/grid/common/entity.hh>
10
11namespace Dune
12{
13
14 namespace Fem
15 {
16
17 // DefaultGridPartEntity
18 // ---------------------
19
20 template< int codim, int dim, class GridFamily >
22 {
23 protected:
25
26 public:
27 static const int codimension = codim;
28 static const int dimension = dim;
29 static const int mydimension = dimension - codimension;
30
31 int level () const
32 {
33 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
34 }
35 };
36
37
38
39 // DefaultGridPartEntity for codimension 0
40 // ---------------------------------------
41
42 template< int dim, class GridFamily >
43 class DefaultGridPartEntity< 0, dim, GridFamily >
44 {
45 protected:
47
48 public:
49 static const int codimension = 0;
50 static const int dimension = dim;
51 static const int mydimension = dimension - codimension;
52
53 typedef typename Traits::template Codim< codimension >::LocalGeometry LocalGeometry;
54 typedef typename Traits::template Codim< codimension >::Entity Entity;
55
56 typedef typename Traits::HierarchicIterator HierarchicIterator;
57
58 int level () const
59 {
60 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
61 }
62
63 bool isLeaf () const
64 {
65 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
66 }
67
68 Entity father () const
69 {
70 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
71 }
72
73 bool hasFather () const
74 {
75 // it should be possible to check if there is a 'father' even if
76 // the entitiy only comes from a grid view/part
77 return false;
78 // DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
79 }
80
82 {
83 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
84 }
85
87 {
88 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
89 }
90
92 {
93 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
94 }
95
96 bool isRegular () const
97 {
98 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
99 }
100
101 bool isNew () const
102 {
103 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
104 }
105
106 bool mightVanish () const
107 {
108 DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
109 }
110 };
111
112 } // namespace Fem
113
114} // namespace Dune
115
116#endif // #ifndef DUNE_FEM_GRIDPART_COMMON_DEFAULTGRIDPARTENTITY_HH
int maxLevel() const
size_type dim() const
#define DUNE_THROW(E,...)
Definition defaultgridpartentity.hh:22
static const int mydimension
Definition defaultgridpartentity.hh:29
static const int codimension
Definition defaultgridpartentity.hh:27
int level() const
Definition defaultgridpartentity.hh:31
std::remove_const< GridFamily >::type::Traits Traits
Definition defaultgridpartentity.hh:24
static const int dimension
Definition defaultgridpartentity.hh:28
bool isNew() const
Definition defaultgridpartentity.hh:101
bool mightVanish() const
Definition defaultgridpartentity.hh:106
HierarchicIterator hbegin(int maxLevel) const
Definition defaultgridpartentity.hh:86
Traits::template Codim< codimension >::LocalGeometry LocalGeometry
Definition defaultgridpartentity.hh:53
const LocalGeometry & geometryInFather() const
Definition defaultgridpartentity.hh:81
bool hasFather() const
Definition defaultgridpartentity.hh:73
Entity father() const
Definition defaultgridpartentity.hh:68
Traits::HierarchicIterator HierarchicIterator
Definition defaultgridpartentity.hh:56
Traits::template Codim< codimension >::Entity Entity
Definition defaultgridpartentity.hh:54
std::remove_const< GridFamily >::type::Traits Traits
Definition defaultgridpartentity.hh:46
bool isRegular() const
Definition defaultgridpartentity.hh:96
bool isLeaf() const
Definition defaultgridpartentity.hh:63
HierarchicIterator hend(int maxLevel) const
Definition defaultgridpartentity.hh:91
int level() const
Definition defaultgridpartentity.hh:58