dune-fem  2.4.1-rc
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 
6 #include <dune/common/exceptions.hh>
7 
8 #include <dune/grid/common/entity.hh>
9 #include <dune/grid/common/gridenums.hh>
10 
11 namespace Dune
12 {
13 
14  namespace Fem
15  {
16 
17  // DefaultGridPartEntity
18  // ---------------------
19 
20  template< int codim, int dim, class GridFamily >
22  {
23  protected:
24  typedef typename std::remove_const< GridFamily >::type::Traits Traits;
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:
46  typedef typename std::remove_const< GridFamily >::type::Traits Traits;
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  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
76  }
77 
78  const LocalGeometry &geometryInFather () const
79  {
80  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
81  }
82 
83  HierarchicIterator hbegin ( int maxLevel ) const
84  {
85  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
86  }
87 
88  HierarchicIterator hend ( int maxLevel ) const
89  {
90  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
91  }
92 
93  bool isRegular () const
94  {
95  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
96  }
97 
98  bool isNew () const
99  {
100  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
101  }
102 
103  bool mightVanish () const
104  {
105  DUNE_THROW( InvalidStateException, "Trying to access hierarchy information from a grid part." );
106  }
107  };
108 
109  } // namespace Fem
110 
111 } // namespace Dune
112 
113 #endif // #ifndef DUNE_FEM_GRIDPART_COMMON_DEFAULTGRIDPARTENTITY_HH
bool isRegular() const
Definition: defaultgridpartentity.hh:93
static const int dimension
Definition: defaultgridpartentity.hh:28
HierarchicIterator hend(int maxLevel) const
Definition: defaultgridpartentity.hh:88
bool mightVanish() const
Definition: defaultgridpartentity.hh:103
Entity father() const
Definition: defaultgridpartentity.hh:68
Traits::template Codim< codimension >::Entity Entity
Definition: defaultgridpartentity.hh:54
int level() const
Definition: defaultgridpartentity.hh:58
Definition: coordinate.hh:4
int level() const
Definition: defaultgridpartentity.hh:31
std::remove_const< GridFamily >::type::Traits Traits
Definition: defaultgridpartentity.hh:46
bool isNew() const
Definition: defaultgridpartentity.hh:98
std::remove_const< GridFamily >::type::Traits Traits
Definition: defaultgridpartentity.hh:24
bool isLeaf() const
Definition: defaultgridpartentity.hh:63
Traits::HierarchicIterator HierarchicIterator
Definition: defaultgridpartentity.hh:56
Traits::template Codim< codimension >::LocalGeometry LocalGeometry
Definition: defaultgridpartentity.hh:53
static const int mydimension
Definition: defaultgridpartentity.hh:29
const LocalGeometry & geometryInFather() const
Definition: defaultgridpartentity.hh:78
Definition: defaultgridpartentity.hh:21
HierarchicIterator hbegin(int maxLevel) const
Definition: defaultgridpartentity.hh:83
static const int codimension
Definition: defaultgridpartentity.hh:27
bool hasFather() const
Definition: defaultgridpartentity.hh:73