5#ifndef DUNE_GEOGRID_COORDFUNCTIONCALLER_HH
6#define DUNE_GEOGRID_COORDFUNCTIONCALLER_HH
20 template<
class HostEntity,
class CoordFunctionInterface >
23 template<
class HostEntity,
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
29 static const int codimension = HostEntity::codimension;
32 typedef typename CoordFunctionInterface::RangeVector RangeVector;
35 const CoordFunctionInterface &coordFunction )
36 : hostCorners_( hostEntity ),
37 coordFunction_( coordFunction )
40 void evaluate (
unsigned int i, RangeVector &y )
const
42 coordFunction_.evaluate( hostCorners_[ i ], y );
47 return hostCorners_.type();
50 std::size_t size ()
const
52 return hostCorners_.size();
56 const HostCorners< HostEntity > hostCorners_;
57 const CoordFunctionInterface &coordFunction_;
60 template<
class HostEntity,
class ct,
unsigned int dimR,
class Impl >
61 class CoordFunctionCaller< HostEntity, DiscreteCoordFunctionInterface< ct, dimR, Impl > >
63 typedef DiscreteCoordFunctionInterface< ct, dimR, Impl > CoordFunctionInterface;
64 typedef CoordFunctionCaller< HostEntity, CoordFunctionInterface > This;
66 typedef typename CoordFunctionInterface::RangeVector RangeVector;
69 CoordFunctionCaller (
const HostEntity &hostEntity,
70 const CoordFunctionInterface &coordFunction )
71 : hostEntity_( hostEntity ),
72 coordFunction_( coordFunction )
75 void evaluate (
unsigned int i, RangeVector &y )
const
77 coordFunction_.evaluate( hostEntity_, i, y );
82 return hostEntity_.type();
85 std::size_t size ()
const
87 auto refElement = referenceElement< ct, HostEntity::mydimension >( type() );
88 return refElement.size( HostEntity::mydimension );
92 const HostEntity &hostEntity_;
93 const CoordFunctionInterface &coordFunction_;
Include standard header files.
Definition: agrid.hh:60
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:132
Interface class for using an analytical function to define the geometry of a Dune::GeometryGrid....
Definition: coordfunction.hh:44
Definition: coordfunctioncaller.hh:21