3 #ifndef DUNE_SCSGMAPPER_HH
4 #define DUNE_SCSGMAPPER_HH
37 template <
typename GV,
int c>
39 public Mapper<typename GV::Grid,SingleCodimSingleGeomTypeMapper<GV,c> >
59 template<
class EntityType>
60 int map (
const EntityType& e)
const;
69 int map (
const typename GV::template Codim<0>::Entity& e,
70 int i,
unsigned int codim)
const;
88 template<
class EntityType>
89 bool contains (
const EntityType& e,
int& result)
const;
99 bool contains (
const typename GV::template Codim<0>::Entity& e,
int i,
int cc,
int& result)
const;
108 const typename GV::IndexSet& is;
113 template <
typename GV,
int c>
115 : is(gridView.indexSet())
118 if (is.geomTypes(c).size() != 1)
119 DUNE_THROW(
GridError,
"mapper treats only a single codim and a single geometry type");
122 template <
typename GV,
int c>
123 template<
class EntityType>
126 enum { cc = EntityType::codimension };
127 dune_static_assert(cc == c,
"Entity of wrong codim passed to SingleCodimSingleGeomTypeMapper");
131 template <
typename GV,
int c>
135 DUNE_THROW(
GridError,
"Id of wrong codim requested from SingleCodimSingleGeomTypeMapper");
136 return is.subIndex(e,i,codim);
139 template <
typename GV,
int c>
145 template <
typename GV,
int c>
146 template<
class EntityType>
153 template <
typename GV,
int c>
156 result = this->map(e,i,cc);
178 template <
typename G,
int c>
202 template <
typename G,
int c>