1 #ifndef DUNE_GRID_ENTITY_HH
2 #define DUNE_GRID_ENTITY_HH
4 #include <dune/common/typetraits.hh>
6 #include "entitypointer.hh"
56 template<
int cd,
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
59 #if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
65 GridImp::
dimension, GridImp::dimensionworld,
66 typename GridImp::ctype,
67 typename GridImp::GridFamily> ;
89 typedef typename GridImp::template Codim<cd>::Geometry
Geometry;
92 typedef typename GridImp::template Codim<cd>::EntitySeed
EntitySeed;
112 typedef typename GridImp::ctype
ctype;
206 template<
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
209 #if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
215 GridImp::
dimension, GridImp::dimensionworld,
216 typename GridImp::ctype,
217 typename GridImp::GridFamily> ;
241 typedef typename GridImp::template Codim<0>::Geometry
Geometry;
244 typedef typename GridImp::template Codim<0>::EntitySeed
EntitySeed;
291 typedef typename GridImp::ctype
ctype;
344 template<
int codim >
347 return realEntity.template subEntity< codim >( i );
419 bool hasFather ()
const
568 template<
int cd,
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
585 typedef typename GridImp::ctype
ctype;
588 typedef typename GridImp::template Codim<cd>::EntitySeed
EntitySeed;
600 EntityImp<cd,dim,GridImp>& asImp ()
602 return static_cast<EntityImp<cd,dim,GridImp>&
>(*this);
604 const EntityImp<cd,dim,GridImp>& asImp ()
const
606 return static_cast<const EntityImp<cd,dim,GridImp>&
>(*this);
621 template<
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
638 typedef typename GridImp::ctype
ctype;
641 typedef typename GridImp::template Codim<0>::EntitySeed
EntitySeed;
672 bool isNew ()
const {
return false; }
682 bool hasBoundaryIntersections ()
const
686 IntersectionIterator end = asImp().ilevelend();
687 for(IntersectionIterator it = asImp().ilevelbegin(); it != end; ++it)
689 if( it->boundary() )
return true;
695 IntersectionIterator end = asImp().ileafend();
696 for(IntersectionIterator it = asImp().ileafbegin(); it != end; ++it)
698 if( it->boundary() )
return true;
707 EntityImp<0,dim,GridImp>& asImp () {
return static_cast<EntityImp<0,dim,GridImp>&
>(*this); }
708 const EntityImp<0,dim,GridImp>& asImp ()
const {
return static_cast<const EntityImp<0,dim,GridImp>&
>(*this); }
713 #endif // DUNE_GRID_ENTITY_HH