3#ifndef DUNE_ALBERTA_ENTITYPOINTER_HH
4#define DUNE_ALBERTA_ENTITYPOINTER_HH
18 template<
int dim,
int dimworld >
27 template<
int codim,
class Gr
idImp >
32 friend class AlbertaGrid< GridImp::dimension, GridImp::dimensionworld >;
35 static const int dimension = GridImp::dimension;
36 static const int codimension = codim;
37 static const int mydimension = dimension - codimension;
38 static const int dimensionworld = GridImp::dimensionworld;
40 typedef typename GridImp::template
Codim< codimension >::Entity Entity;
44 typedef typename EntityObject::ImplementationType EntityImp;
49 typedef typename EntityImp::ElementInfo ElementInfo;
55 const ElementInfo &elementInfo,
70 bool
equals ( const This &other ) const;
86 const GridImp &
grid () const;
89 mutable Entity entity_;
94 template< int codim, class GridImp >
96 ::AlbertaGridEntityPointer ()
100 template<
int codim,
class Gr
idImp >
103 const ElementInfo &elementInfo,
105 : entity_( EntityImp(
grid, elementInfo, subEntity ) )
109 template<
int codim,
class Gr
idImp >
112 : entity_( EntityImp( grid ) )
116 template<
int codim,
class Gr
idImp >
124 template<
int codim,
class Gr
idImp >
130 template<
int codim,
class Gr
idImp >
134 return entityImp().equals( other.
entityImp() );
138 template<
int codim,
class Gr
idImp >
139 inline typename AlbertaGridEntityPointer< codim, GridImp >::Entity &
146 template<
int codim,
class Gr
idImp >
149 return entityImp().level();
153 template<
int codim,
class Gr
idImp >
154 inline typename AlbertaGridEntityPointer< codim, GridImp >::EntityImp &
157 return GridImp::getRealImplementation( entity_ );
161 template<
int codim,
class Gr
idImp >
162 inline const typename AlbertaGridEntityPointer< codim, GridImp >::EntityImp &
165 return GridImp::getRealImplementation( entity_ );
169 template<
int codim,
class Gr
idImp >
172 return entityImp().grid();
EntityPointer implementation for AlbertaGrid.
Definition: entitypointer.hh:29
Entity & dereference() const
dereferencing
Definition: entitypointer.hh:140
const GridImp & grid() const
obtain a reference to the grid
Definition: entitypointer.hh:170
EntityImp & entityImp()
obtain reference to internal entity implementation
Definition: entitypointer.hh:155
int level() const
ask for level of entities
Definition: entitypointer.hh:147
bool equals(const This &other) const
equality
Definition: entitypointer.hh:132
[ provides Dune::Grid ]
Definition: agrid.hh:140
Wrapper and interface class for a static iterator (EntityPointer)
provides a wrapper for ALBERTA's el_info structure
Dune namespace.
Definition: alignment.hh:10
Static tag representing a codimension.
Definition: dimension.hh:22