1 #ifndef DUNE_FEM_GRIDPART_FILTER_FILTER_HH 2 #define DUNE_FEM_GRIDPART_FILTER_FILTER_HH 10 #include <dune/common/bartonnackmanifcheck.hh> 31 template <
class FilterImp >
58 template<
class FilterTraits >
65 typedef FilterTraits Traits;
89 ThisType & operator= (
const ThisType & );
96 CHECK_INTERFACE_IMPLEMENTATION( asImp().contains( entity ) );
97 return asImp().contains< cd >( entity );
101 template<
class Entity >
104 enum { cc = Entity::codimension };
105 CHECK_INTERFACE_IMPLEMENTATION( asImp().contains< cc >( entity ) );
106 return asImp().contains< cc >( entity );
111 template<
class Intersection >
114 return asImp().interiorIntersection( intersection );
118 template<
class Intersection >
121 return asImp().intersectionBoundary( intersection );
125 template<
class Intersection >
128 return asImp().intersectionBoundaryId( intersection );
132 template<
class Intersection >
135 return asImp().intersectionNeighbor( intersection );
141 return static_cast< FilterType &
>( *this );
146 return static_cast< const FilterType &
>( *this );
154 template<
class FilterTraits >
177 using BaseType::asImp;
186 ThisType &operator= (
const ThisType & );
189 using BaseType::contains;
192 template<
class Intersection >
195 typedef typename Intersection::Entity
EntityType;
196 const EntityType outside(intersection.outside());
197 return asImp().contains( outside );
205 template<
class Intersection >
206 bool intersectionBoundary(
const Intersection & )
const;
209 template<
class Intersection >
210 int intersectionBoundaryId (
const Intersection & )
const;
213 template<
class Intersection >
214 bool intersectionNeighbor (
const Intersection & )
const;
221 #endif // #ifndef DUNE_FEM_GRIDPART_FILTER_FILTER_HH
int intersectionBoundaryId(const Intersection &intersection) const
returns the boundary id for an intersection
Definition: filter/filter.hh:126
BaseType::EntityType EntityType
type of codim 0 entity
Definition: filter/filter.hh:174
type definitions
Definition: filter/filter.hh:22
Codim< 0 >::EntityType EntityType
entity type for codimension 0
Definition: filter/filter.hh:46
Interface class for filter to use with a Dune::FilteredGridPart.
Definition: filter/filter.hh:23
BaseType::template Codim< cd >::EntityType EntityType
type of codim cd
Definition: filter/filter.hh:170
bool intersectionBoundary(const Intersection &intersection) const
returns true if an intersection is a boundary intersection
Definition: filter/filter.hh:119
const FilterType & asImp() const
Definition: filter/filter.hh:144
Definition: coordinate.hh:4
FilterDefaultImplementation()
Definition: filter/filter.hh:180
entity types
Definition: filter/filter.hh:39
bool contains(const typename Codim< cd >::EntityType &entity) const
returns true if the given entity of the pointer in the domain
Definition: filter/filter.hh:94
FilterType::template Codim< cd >::EntityType EntityType
entity type for given codimension
Definition: filter/filter.hh:42
bool interiorIntersection(const Intersection &intersection) const
returns true if an intersection is interior
Definition: filter/filter.hh:112
Definition: basicfilterwrapper.hh:20
FilterImp FilterType
filter type
Definition: filter/filter.hh:35
bool interiorIntersection(const Intersection &intersection) const
default implementation returns contains from neighbor
Definition: filter/filter.hh:193
bool contains(const Entity &entity) const
returns true if the given entity of the pointer in the domain
Definition: filter/filter.hh:102
entity types
Definition: filter/filter.hh:73
Codim< 0 >::EntityType EntityType
type of entity with codim=0
Definition: filter/filter.hh:79
Traits::template Codim< cd >::EntityType EntityType
Definition: filter/filter.hh:75
BaseType::FilterType FilterType
type of the filter implementation
Definition: filter/filter.hh:163
bool intersectionNeighbor(const Intersection &intersection) const
returns true if for an intersection a neighbor exsits
Definition: filter/filter.hh:133
FilterType & asImp()
Definition: filter/filter.hh:139
Traits::FilterType FilterType
type of the filter implementation
Definition: filter/filter.hh:69
entity types
Definition: filter/filter.hh:167