5#ifndef DUNE_GRID_CONCEPTS_INTERSECTION_HH
6#define DUNE_GRID_CONCEPTS_INTERSECTION_HH
12#include <dune/grid/concepts/entity.hh>
13#include <dune/grid/concepts/geometry.hh>
27requires(
const I i,
typename I::LocalCoordinate local)
30 { I::mydimension } -> std::convertible_to<int>;
31 { I::dimensionworld } -> std::convertible_to<int>;
32 { i.boundary() } -> std::convertible_to<bool>;
33 { i.boundarySegmentIndex() } -> std::convertible_to<std::size_t>;
34 { i.neighbor() } -> std::convertible_to<bool>;
35 { i.inside() } -> std::same_as<typename I::Entity>;
36 { i.outside() } -> std::same_as<typename I::Entity>;
37 { i.conforming() } -> std::convertible_to<bool>;
38 { i.geometryInInside() } -> std::same_as<typename I::LocalGeometry>;
39 { i.geometryInOutside() } -> std::same_as<typename I::LocalGeometry>;
40 { i.geometry() } -> std::same_as<typename I::Geometry>;
41 { i.type() } -> std::same_as<Dune::GeometryType>;
42 { i.indexInInside() } -> std::convertible_to<int>;
43 { i.indexInOutside() } -> std::convertible_to<int>;
44 { i.outerNormal(local) } -> std::convertible_to<typename I::GlobalCoordinate>;
45 { i.integrationOuterNormal(local) } -> std::convertible_to<typename I::GlobalCoordinate>;
46 { i.unitOuterNormal(local) } -> std::convertible_to<typename I::GlobalCoordinate>;
47 { i.centerUnitOuterNormal() } -> std::convertible_to<typename I::GlobalCoordinate>;
Model of a grid entity for any codimension.
Definition: entity.hh:40
Model of a geometry object.
Definition: geometry.hh:29
Model of an intersection.
Definition: intersection.hh:23
Namespace for concepts.
Definition: concept.hh:34
A unique label for each type of element that can occur in a grid.