3#ifndef DUNE_ALBERTA_HIERARCHICITERATOR_HH
4#define DUNE_ALBERTA_HIERARCHICITERATOR_HH
26 template<
class Gr
idImp >
34 typedef typename GridImp::template Codim<0>::Entity
Entity;
35 typedef typename GridImp::ctype
ctype;
78 template<
class Gr
idImp >
79 inline AlbertaGridHierarchicIterator< GridImp >
80 ::AlbertaGridHierarchicIterator(
const GridImp &grid,
int actLevel,
int maxLevel )
82 startLevel_( actLevel ),
87 template<
class Gr
idImp >
93 startLevel_( elementInfo.level() ),
100 template<
class Gr
idImp >
104 startLevel_( other.startLevel_ ),
105 maxlevel_( other.maxlevel_ )
109 template<
class Gr
idImp >
113 Base::operator=( other );
115 startLevel_ = other.startLevel_;
116 maxlevel_ = other.maxlevel_;
121 template<
class Gr
idImp >
124 increment( entityImp().elementInfo() );
127 template<
class Gr
idImp >
131 assert( !elementInfo ==
false );
132 if( (elementInfo.level() >= maxlevel_) || elementInfo.isLeaf() )
134 while( (elementInfo.level() > startLevel_) && (elementInfo.indexInFather() == 1) )
135 elementInfo = elementInfo.father();
136 if( elementInfo.level() > startLevel_ )
137 entityImp().setElement( elementInfo.father().child( 1 ), 0 );
139 entityImp().clearElement();
142 entityImp().setElement( elementInfo.child( 0 ), 0 );
Include standard header files.
Definition agrid.hh:60
EntityPointer implementation for AlbertaGrid.
Definition albertagrid/entitypointer.hh:29
EntityImp::ElementInfo ElementInfo
Definition albertagrid/entitypointer.hh:49
const GridImp & grid() const
obtain a reference to the grid
Definition albertagrid/entitypointer.hh:170
EntityImp & entityImp()
obtain reference to internal entity implementation
Definition albertagrid/entitypointer.hh:155
int level() const
ask for level of entities
Definition albertagrid/entitypointer.hh:147
Definition hierarchiciterator.hh:29
GridImp::template Codim< 0 >::Entity Entity
Definition hierarchiciterator.hh:34
Base::ElementInfo ElementInfo
Definition hierarchiciterator.hh:40
AlbertaGridHierarchicIterator()
Definition hierarchiciterator.hh:42
void increment()
increment
Definition hierarchiciterator.hh:122
GridImp::ctype ctype
Definition hierarchiciterator.hh:35
EntityObject::ImplementationType EntityImp
Definition hierarchiciterator.hh:38
This & operator=(const This &other)
assignment operator
Definition hierarchiciterator.hh:111
MakeableInterfaceObject< Entity > EntityObject
Definition hierarchiciterator.hh:37
InterfaceType::Implementation ImplementationType
Definition common/grid.hh:1266