3 #ifndef DUNE_GEOGRID_COORDFUNCTIONCALLER_HH
4 #define DUNE_GEOGRID_COORDFUNCTIONCALLER_HH
18 template<
class HostEntity,
class CoordFunctionInterface >
19 class CoordFunctionCaller;
21 template<
class HostEntity,
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
25 typedef CoordFunctionCaller< HostEntity, CoordFunctionInterface > This;
27 static const int codimension = HostEntity::codimension;
32 CoordFunctionCaller (
const HostEntity &hostEntity,
34 : hostCorners_( hostEntity ),
35 coordFunction_( coordFunction )
40 coordFunction_.evaluate( hostCorners_[ i ], y );
45 return hostCorners_.type();
48 std::size_t size ()
const
50 return hostCorners_.size();
55 const CoordFunctionInterface &coordFunction_;
58 template<
class HostEntity,
class ct,
unsigned int dimR,
class Impl >
62 typedef CoordFunctionCaller< HostEntity, CoordFunctionInterface > This;
67 CoordFunctionCaller (
const HostEntity &hostEntity,
69 : hostEntity_( hostEntity ),
70 coordFunction_( coordFunction )
73 void evaluate (
unsigned int i, RangeVector &y )
const
75 coordFunction_.evaluate( hostEntity_, i, y );
80 return hostEntity_.type();
83 std::size_t size ()
const
85 const Dune::ReferenceElement< ct, HostEntity::mydimension > &refElement
86 = Dune::ReferenceElements< ct, HostEntity::mydimension >::general( type() );
87 return refElement.size( HostEntity::mydimension );
91 const HostEntity &hostEntity_;
92 const CoordFunctionInterface &coordFunction_;
99 #endif // #ifndef DUNE_GEOGRID_COORDFUNCTIONCALLER_HH