1#ifndef DUNE_FEM_GRIDPART_FILTER_FILTER_HH
2#define DUNE_FEM_GRIDPART_FILTER_FILTER_HH
10#include <dune/common/bartonnackmanifcheck.hh>
22 template<
class >
struct DefaultFilterTraits;
23 template<
class >
class FilterInterface;
24 template<
class >
class FilterDefaultImplementation;
31 template <
class FilterImp >
58 template<
class FilterTraits >
65 typedef FilterTraits Traits;
96 return asImp().contains< cd >( entity );
100 template<
class Entity >
103 enum { cc = Entity::codimension };
104 CHECK_INTERFACE_IMPLEMENTATION(
asImp().contains< cc >( entity ) );
105 return asImp().contains< cc >( entity );
110 template<
class Intersection >
113 return asImp().interiorIntersection( intersection );
117 template<
class Intersection >
120 return asImp().intersectionBoundary( intersection );
124 template<
class Intersection >
127 return asImp().intersectionBoundaryId( intersection );
131 template<
class Intersection >
134 return asImp().intersectionNeighbor( intersection );
145 return static_cast< const FilterType &
>( *this );
153 template<
class FilterTraits >
190 template<
class Intersection >
193 typedef typename Intersection::Entity
EntityType;
194 const EntityType outside(intersection.outside());
195 return asImp().contains( outside );
203 template<
class Intersection >
207 template<
class Intersection >
211 template<
class Intersection >
Definition: bindguard.hh:11
Definition: filter/filter.hh:156
FilterDefaultImplementation()=default
FilterDefaultImplementation(const ThisType &)=default
FilterType & asImp()
Definition: filter/filter.hh:138
bool intersectionBoundary(const Intersection &) const
returns true if an intersection is a boundary intersection
int intersectionBoundaryId(const Intersection &) const
returns the boundary id for an intersection
ThisType & operator=(const ThisType &)=default
BaseType::EntityType EntityType
type of codim 0 entity
Definition: filter/filter.hh:173
FilterDefaultImplementation(ThisType &&)=default
bool intersectionNeighbor(const Intersection &) const
returns true if for an intersection a neighbor exsits
bool interiorIntersection(const Intersection &intersection) const
default implementation returns contains from neighbor
Definition: filter/filter.hh:191
BaseType::FilterType FilterType
type of the filter implementation
Definition: filter/filter.hh:162
bool contains(const typename Codim< cd >::EntityType &) const
returns true if the given entity of the pointer in the domain
type definitions
Definition: filter/filter.hh:33
Codim< 0 >::EntityType EntityType
entity type for codimension 0
Definition: filter/filter.hh:46
FilterImp FilterType
filter type
Definition: filter/filter.hh:35
Interface class for filter to use with a Dune::FilteredGridPart.
Definition: filter/filter.hh:60
Traits::FilterType FilterType
type of the filter implementation
Definition: filter/filter.hh:69
FilterType & asImp()
Definition: filter/filter.hh:138
Codim< 0 >::EntityType EntityType
type of entity with codim=0
Definition: filter/filter.hh:79
bool intersectionNeighbor(const Intersection &intersection) const
returns true if for an intersection a neighbor exsits
Definition: filter/filter.hh:132
bool contains(const Entity &entity) const
returns true if the given entity of the pointer in the domain
Definition: filter/filter.hh:101
bool interiorIntersection(const Intersection &intersection) const
returns true if an intersection is interior
Definition: filter/filter.hh:111
bool intersectionBoundary(const Intersection &intersection) const
returns true if an intersection is a boundary intersection
Definition: filter/filter.hh:118
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:93
const FilterType & asImp() const
Definition: filter/filter.hh:143
int intersectionBoundaryId(const Intersection &intersection) const
returns the boundary id for an intersection
Definition: filter/filter.hh:125
entity types
Definition: filter/filter.hh:40
FilterType::template Codim< cd >::EntityType EntityType
entity type for given codimension
Definition: filter/filter.hh:42
entity types
Definition: filter/filter.hh:74
Traits::template Codim< cd >::EntityType EntityType
Definition: filter/filter.hh:75
entity types
Definition: filter/filter.hh:167
BaseType::template Codim< cd >::EntityType EntityType
type of codim cd
Definition: filter/filter.hh:169