3 #ifndef DUNE_GEOGRID_COORDFUNCTIONCALLER_HH
4 #define DUNE_GEOGRID_COORDFUNCTIONCALLER_HH
18 template<
class HostEntity,
class CoordFunctionInterface >
21 template<
class HostEntity,
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
27 static const int codimension = HostEntity::codimension;
33 const CoordFunctionInterface &coordFunction )
34 : hostCorners_( hostEntity ),
35 coordFunction_( coordFunction )
38 void evaluate (
unsigned int i, RangeVector &y )
const
40 coordFunction_.evaluate( hostCorners_[ i ], y );
45 return hostCorners_.type();
50 return hostCorners_.size();
55 const CoordFunctionInterface &coordFunction_;
58 template<
class HostEntity,
class ct,
unsigned int dimR,
class Impl >
68 const CoordFunctionInterface &coordFunction )
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();
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
std::size_t size() const
Definition: coordfunctioncaller.hh:83
void evaluate(unsigned int i, RangeVector &y) const
Definition: coordfunctioncaller.hh:73
std::size_t size() const
Definition: coordfunctioncaller.hh:48
GeometryType type() const
Definition: coordfunctioncaller.hh:78
Definition: coordfunctioncaller.hh:19
FieldVector< ctype, dimRange > RangeVector
range vector for the evaluate method
Definition: coordfunction.hh:59
GeometryType type() const
Definition: coordfunctioncaller.hh:43
CoordFunctionCaller(const HostEntity &hostEntity, const CoordFunctionInterface &coordFunction)
Definition: coordfunctioncaller.hh:67
Interface class for using a discrete function to define the geometry of a Dune::GeometryGrid. An implementation should be derived from Dune::DiscreteCoordinateFunction and the evaluate method taking an entity of the host grid together with the number of a vertex returns the coordinate in of that corner. The user must ensure continuity of this mapping. In addition an adapt method is provided which is called whenever adapt() is called on the Dune::GeometryGrid.
Definition: coordfunction.hh:136
Definition: hostcorners.hh:34
FieldVector< ctype, dimRange > RangeVector
range vector for the evaluate method
Definition: coordfunction.hh:153
CoordFunctionInterface::RangeVector RangeVector
Definition: coordfunctioncaller.hh:30
CoordFunctionCaller(const HostEntity &hostEntity, const CoordFunctionInterface &coordFunction)
Definition: coordfunctioncaller.hh:32
void evaluate(unsigned int i, RangeVector &y) const
Definition: coordfunctioncaller.hh:38
Interface class for using an analytical function to define the geometry of a Dune::GeometryGrid. An implementation should be derived from Dune::AnalyticalCoordFunction and the evaluate method mapping has to be supplied.
Definition: coordfunction.hh:38
Include standard header files.
Definition: agrid.hh:59
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178