3 #ifndef DUNE_ALBERTA_ENTITYSEED_HH
4 #define DUNE_ALBERTA_ENTITYSEED_HH
15 template<
int codim,
class Gr
id >
23 template<
int dim,
int dimworld >
33 template<
int codim,
int dim,
int dimworld >
39 static const int codimension = codim;
40 static const int dimension = dim;
41 static const int mydimension = dimension - codimension;
42 static const int dimensionworld = dimworld;
44 typedef Alberta::MeshPointer< dimension > MeshPointer;
45 typedef Alberta::ElementInfo< dimension > ElementInfo;
46 typedef typename ElementInfo::Seed Seed;
48 typedef typename Grid::template Codim< codimension >::Entity
Entity;
54 : seed_( elementInfo.seed() ),
55 subEntity_( subEntity )
60 return seed_.isValid();
63 ElementInfo elementInfo (
const MeshPointer &mesh )
const {
return ElementInfo( mesh, seed_ ); }
64 int subEntity ()
const {
return subEntity_; }
76 template<
int dim,
int dimworld >
77 class AlbertaGridEntitySeed< 0, const AlbertaGrid< dim, dimworld > >
80 typedef AlbertaGrid< dim, dimworld > Grid;
82 static const int codimension = 0;
83 static const int dimension = dim;
84 static const int mydimension = dimension - codimension;
85 static const int dimensionworld = dimworld;
87 typedef Alberta::MeshPointer< dimension > MeshPointer;
88 typedef Alberta::ElementInfo< dimension > ElementInfo;
89 typedef typename ElementInfo::Seed Seed;
91 typedef typename Grid::template Codim< codimension >::Entity Entity;
93 AlbertaGridEntitySeed ( )
96 explicit AlbertaGridEntitySeed (
const ElementInfo &elementInfo )
97 : seed_( elementInfo.seed() )
100 bool isValid ()
const
102 return seed_.isValid();
105 ElementInfo elementInfo (
const MeshPointer &mesh )
const {
return ElementInfo( mesh, seed_ ); }
106 int subEntity ()
const {
return 0; }
112 #endif // #if HAVE_ALBERTA
116 #endif // #ifndef DUNE_ALBERTA_ENTITYSEED_HH