26 typedef typename std::remove_const< Grid >::type::Traits Traits;
47 typedef typename Traits::ctype
ctype;
49 typedef typename Traits::Index Index;
52 typedef typename Grid::template Codim< codimension >::Entity
Entity;
55 typedef typename Grid::template Codim< codimension >::EntitySeed
EntitySeed;
57 typedef typename Traits::template Codim< codimension >::Geometry
Geometry;
58 typedef typename Traits::template Codim< codimension >::GeometryImpl GeometryImpl;
64 typedef typename Traits::ExtraData ExtraData;
100 return data()->geometryType(seed_);
112 return InteriorEntity;
118 return Geometry( GeometryImpl( data(), seed_ ) );
129 ExtraData data()
const {
return data_; }
131 Index index ()
const {
return seed_.index(); }
137 return seed_.equals(other.seed_);
155 typedef typename std::remove_const< Grid >::type::Traits Traits;
159 typedef typename Traits::ExtraData ExtraData;
163 typedef typename Base :: EntitySeed EntitySeed;
179 unsigned int subEntities(
const unsigned int cd )
const
181 if( cd == Base :: codimension )
184 return data()->subEntities( seed_, cd );
188 typename Grid::template Codim< cd >::EntityPointer
189 subEntity (
int i )
const
191 typedef typename Traits::template Codim< cd >::EntityPointerImpl EntityPointerImpl;
192 typedef typename Traits::template Codim< cd >::EntityImpl EntityImpl;
193 return EntityPointerImpl( EntityImpl( data(), data()->
template subEntitySeed< cd >( seed_, i ) ) );
212 typedef typename Base::Traits Traits;
215 typedef typename Base::ExtraData ExtraData;
223 typedef typename Traits :: LeafIntersectionIteratorImpl LeafIntersectionIteratorImpl;
224 typedef typename Traits::template Codim< codimension >::LocalGeometryImpl LocalGeometryImpl;
230 typedef typename Base :: EntitySeed EntitySeed;
233 typedef typename Traits::template Codim< codimension >::LocalGeometry
LocalGeometry;
235 typedef typename Traits::template Codim< codimension >::Entity
Entity;
237 typedef typename Traits::template Codim< codimension >::EntityPointer
EntityPointer;
268 const This& dereference()
const
274 unsigned int subEntities(
const unsigned int codim )
const
279 return data()->subEntities( seed_, codim );
282 template<
int codim >
285 return subEntities( codim );
288 template<
int codim >
289 typename Grid::template Codim< codim >::EntityPointer
290 subEntity (
int i )
const
292 typedef typename Traits::template Codim< codim >::EntityPointerImpl EntityPointerImpl;
293 typedef typename Traits::template Codim< codim >::EntityImpl EntityImpl;
294 return EntityPointerImpl( EntityImpl( data(), data()->
template subEntitySeed< codim >( seed_, i ) ) );
297 bool hasBoundaryIntersections ()
const
299 return data()->hasBoundaryIntersections( this->
seed() );
302 LeafIntersectionIterator ibegin ()
const
304 return LeafIntersectionIterator( LeafIntersectionIteratorImpl( data(), seed_,
true ) );
307 LeafIntersectionIterator iend ()
const
309 return LeafIntersectionIterator( LeafIntersectionIteratorImpl( data(), seed_,
false ) );
312 LeafIntersectionIterator ileafbegin ()
const {
return ibegin(); }
313 LevelIntersectionIterator ilevelbegin ()
const {
return ibegin(); }
315 LeafIntersectionIterator ileafend ()
const {
return iend(); }
316 LevelIntersectionIterator ilevelend ()
const {
return iend(); }
323 EntityPointer father ()
const
325 DUNE_THROW(InvalidStateException,
"no father available");
326 typedef typename Traits::template Codim< 0 >::EntityImpl EntityImpl;
327 typedef typename Traits::template Codim< 0 >::EntityPointerImpl EntityPointerImpl;
328 return EntityPointer( EntityPointerImpl( EntityImpl( data() ) ) );
331 bool hasFather ()
const
336 LocalGeometry geometryInFather ()
const
338 DUNE_THROW(InvalidStateException,
"no father available");
339 return LocalGeometry( LocalGeometryImpl( data() ) );
342 HierarchicIterator hbegin (
int maxLevel )
const
344 return hend( maxLevel );
347 HierarchicIterator hend (
int )
const
349 typedef typename Traits :: HierarchicIteratorImpl HierarchicIteratorImpl ;
350 return HierarchicIterator( HierarchicIteratorImpl( data(),
false ) );
353 bool isRegular ()
const
363 bool mightVanish ()
const