1#ifndef DUNE_FEM_QUADRATURE_GEOMETRIC_QUADRATURE_HH
2#define DUNE_FEM_QUADRATURE_GEOMETRIC_QUADRATURE_HH
11#include <dune/fem/quadrature/quadrature.hh>
22 template<
class Field,
int mydim,
int dim,
class Implementation >
23 class GeometricQuadrature
25 using ThisType = GeometricQuadrature< Field, mydim, dim, Implementation >;
29 using FieldType = Field;
32 static const int mydimension = mydim;
34 static const int dimension = dim;
46 GeometricQuadrature () =
default;
55 GeometricQuadrature (
const ThisType & ) =
default;
58 GeometricQuadrature ( ThisType && ) =
default;
61 GeometricQuadrature &operator= (
const ThisType & ) =
default;
64 GeometricQuadrature &operator= ( ThisType && ) =
default;
75 CHECK_INTERFACE_IMPLEMENTATION( impl().type() );
82 CHECK_INTERFACE_IMPLEMENTATION( impl().order() );
83 return impl().order();
93 std::size_t nop ()
const
95 CHECK_INTERFACE_IMPLEMENTATION( impl().nop() );
100 const CoordinateType &point ( std::size_t i )
const
102 CHECK_INTERFACE_IMPLEMENTATION( impl().point( i ) );
103 return impl().point( i );
107 const LocalCoordinateType &localPoint ( std::size_t i )
const
109 CHECK_INTERFACE_IMPLEMENTATION( impl().localPoint( i ) );
110 return impl().localPoint( i );
114 FieldType weight ( std::size_t i )
const
116 CHECK_INTERFACE_IMPLEMENTATION( impl().weight( i ) );
117 return impl().weight( i );
127 const QuadraturePointWrapperType operator[] ( std::size_t i )
const
129 return QuadraturePointWrapperType( impl(), i );
135 const Implementation &impl ()
const
137 return static_cast< const Implementation &
>( *this );
Provides check for implementation of interface methods when using static polymorphism,...
wrapper for a (Quadrature,int) pair
Definition: quadrature.hh:42
vector space out of a tensor product of fields.
Definition: fvector.hh:91
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
Implements a vector constructed from a given type representing a field and a compile-time given size.
Dune namespace.
Definition: alignedallocator.hh:13
A unique label for each type of element that can occur in a grid.