My Project
entityseed.hh
1// -*- mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=2 sw=2 sts=2:
3#ifndef DUNE_POLYHEDRALGRID_ENTITYSEED_HH
4#define DUNE_POLYHEDRALGRID_ENTITYSEED_HH
5
6#include <dune/common/version.hh>
7#include <dune/common/typetraits.hh>
8
9#include <dune/grid/common/entityseed.hh>
10
11namespace Dune
12{
13
14 template< int codim, class Grd >
16 {
17 typedef typename std::remove_const< Grd >::type::Traits Traits;
18
19 public:
20 static const int codimension = codim;
21 static const int dimension = Traits::dimension;
22 static const int mydimension = dimension - codimension;
23 static const int dimensionworld = Traits::dimensionworld;
24
25
26 typedef typename Traits::Grid Grid;
27 typedef typename Traits::template Codim< codim >::Entity Entity;
28 typedef typename Traits :: Index Index ;
29
30 static const Index defaultIndex = -1;
31
32 explicit PolyhedralGridEntitySeed ( const Index& index )
33 : index_( index )
34 {}
35
37 : index_( defaultIndex )
38 {}
39
40 int index () const { return index_ ; }
41
42 // check that index is valid, which means >= 0
43 // boundary faces can be arbitrary number < 0
44 bool isValid() const { return index_ > defaultIndex; }
45
46 bool equals(const PolyhedralGridEntitySeed& other) const
47 { return index_ == other.index_; }
48
49 protected:
50 Index index_;
51 };
52
53} // namespace Dune
54
55#endif // #ifndef DUNE_POLYHEDRALGRID_ENTITYSEED_HH
Definition: entityseed.hh:16
Copyright 2019 Equinor AS.
Definition: CartesianIndexMapper.hpp:10