1#ifndef DUNE_FEM_GRIDPART_FILTEREDGRIDPART_INTERSECTION_HH
2#define DUNE_FEM_GRIDPART_FILTEREDGRIDPART_INTERSECTION_HH
6#include <dune/common/exceptions.hh>
8#include <dune/grid/common/intersection.hh>
19 template<
class Filter,
class HostIntersection >
29 static const int mydimension = HostIntersectionType::mydimension;
31 typedef typename HostIntersectionType::ctype
ctype;
33 typedef typename HostIntersectionType::Entity
Entity;
34 typedef typename HostIntersectionType::Geometry
Geometry;
44 neighbor_( hostIntersection_.
neighbor() ),
45 boundary_( !neighbor_ )
49 if( !filter.interiorIntersection( hostIntersection_ ) )
51 neighbor_ = filter.intersectionNeighbor( hostIntersection_ );
52 boundary_ = filter.intersectionBoundary( hostIntersection_ );
53 boundaryId_ = filter.intersectionBoundaryId( hostIntersection_ );
57 boundaryId_ = filter.intersectionBoundaryId( hostIntersection_ );
69 DUNE_THROW( NotImplemented,
"boundarySegmentIndex not implemented for FilteredGridPart, yet" );
95 bool neighbor_ =
false;
96 bool boundary_ =
false;
Definition: bindguard.hh:11
Definition: filteredgridpart/intersection.hh:21
GlobalCoordinate centerUnitOuterNormal() const
Definition: filteredgridpart/intersection.hh:89
static const int dimensionworld
Definition: filteredgridpart/intersection.hh:28
bool boundary() const
Definition: filteredgridpart/intersection.hh:62
GlobalCoordinate unitOuterNormal(const LocalCoordinate &local) const
Definition: filteredgridpart/intersection.hh:88
Filter FilterType
Definition: filteredgridpart/intersection.hh:25
GlobalCoordinate integrationOuterNormal(const LocalCoordinate &local) const
Definition: filteredgridpart/intersection.hh:87
Geometry geometry() const
Definition: filteredgridpart/intersection.hh:80
HostIntersectionType::GlobalCoordinate GlobalCoordinate
Definition: filteredgridpart/intersection.hh:38
GlobalCoordinate outerNormal(const LocalCoordinate &local) const
Definition: filteredgridpart/intersection.hh:86
HostIntersectionType::ctype ctype
Definition: filteredgridpart/intersection.hh:31
Entity inside() const
Definition: filteredgridpart/intersection.hh:72
int boundaryId() const
Definition: filteredgridpart/intersection.hh:65
FilteredGridPartIntersection(const FilterType &filter, HostIntersectionType hostIntersection)
Definition: filteredgridpart/intersection.hh:42
FilteredGridPartIntersection()=default
HostIntersectionType::Geometry Geometry
Definition: filteredgridpart/intersection.hh:34
Entity outside() const
Definition: filteredgridpart/intersection.hh:73
HostIntersectionType::Entity Entity
Definition: filteredgridpart/intersection.hh:33
int indexInOutside() const
Definition: filteredgridpart/intersection.hh:84
HostIntersectionType::LocalCoordinate LocalCoordinate
Definition: filteredgridpart/intersection.hh:37
std::size_t boundarySegmentIndex() const
Definition: filteredgridpart/intersection.hh:67
HostIntersection HostIntersectionType
Definition: filteredgridpart/intersection.hh:26
bool equals(const ThisType &other) const
Definition: filteredgridpart/intersection.hh:60
HostIntersectionType::LocalGeometry LocalGeometry
Definition: filteredgridpart/intersection.hh:35
LocalGeometry geometryInOutside() const
Definition: filteredgridpart/intersection.hh:78
bool neighbor() const
Definition: filteredgridpart/intersection.hh:63
static const int mydimension
Definition: filteredgridpart/intersection.hh:29
LocalGeometry geometryInInside() const
Definition: filteredgridpart/intersection.hh:77
const HostIntersectionType & hostIntersection() const
Definition: filteredgridpart/intersection.hh:91
bool conforming() const
Definition: filteredgridpart/intersection.hh:75
GeometryType type() const
Definition: filteredgridpart/intersection.hh:81
int indexInInside() const
Definition: filteredgridpart/intersection.hh:83