1#ifndef DUNE_MULTIDOMAINGRID_GRIDVIEW_HH
2#define DUNE_MULTIDOMAINGRID_GRIDVIEW_HH
4#include <dune/grid/common/gridview.hh>
5#include <dune/grid/common/defaultgridview.hh>
11template<
typename,
typename>
12class IntersectionIteratorWrapper;
14template<
typename Gr
idImp>
16 :
public DefaultLevelGridView<GridImp>
19 using BaseT = DefaultLevelGridView<GridImp>;
23 using typename BaseT::IntersectionIterator;
25 LevelGridView(
const GridImp& grid,
int level)
29 IntersectionIterator ibegin(
const typename BaseT::template Codim<0>::Entity& entity)
const
31 return IntersectionIteratorWrapper<
33 typename GridImp::HostGrid::LevelGridView::IntersectionIterator
35 this->grid().hostGrid().levelGridView(entity.level()).ibegin(entity.impl().hostEntity())
39 IntersectionIterator iend(
const typename BaseT::template Codim<0>::Entity& entity)
const
41 return IntersectionIteratorWrapper<
43 typename GridImp::HostGrid::LevelGridView::IntersectionIterator
45 this->grid().hostGrid().levelGridView(entity.level()).iend(entity.impl().hostEntity())
51template<
typename Gr
idImp>
52struct LevelGridViewTraits
53 :
public DefaultLevelGridViewTraits<GridImp>
55 typedef LevelGridView<GridImp> GridViewImp;
60template<
typename Gr
idImp>
62 :
public DefaultLeafGridView<GridImp>
65 typedef DefaultLeafGridView<GridImp> BaseT;
69 typedef typename BaseT::IntersectionIterator IntersectionIterator;
71 LeafGridView(
const GridImp& grid)
75 IntersectionIterator ibegin(
const typename BaseT:: template Codim<0>::Entity& entity)
const
77 return IntersectionIteratorWrapper<
79 typename GridImp::HostGrid::LeafGridView::IntersectionIterator
81 this->grid().hostGrid().leafGridView().ibegin(entity.impl().hostEntity())
85 IntersectionIterator iend(
const typename BaseT:: template Codim<0>::Entity& entity)
const
87 return IntersectionIteratorWrapper<
89 typename GridImp::HostGrid::LeafGridView::IntersectionIterator
91 this->grid().hostGrid().leafGridView().iend(entity.impl().hostEntity())
97template<
typename Gr
idImp>
98struct LeafGridViewTraits
99 :
public DefaultLeafGridViewTraits<GridImp>
101 typedef LeafGridView<GridImp> GridViewImp;