3 #ifndef DUNE_GRID_ALBERTAGRID_GEOMETRYREFERENCE_HH
4 #define DUNE_GRID_ALBERTAGRID_GEOMETRYREFERENCE_HH
10 #include <dune/common/typetraits.hh>
12 #include <dune/geometry/type.hh>
22 template<
class Implementation >
31 typedef typename Implementation::ctype
ctype;
48 GlobalCoordinate
corner (
int i )
const {
return impl().corner( i ); }
49 GlobalCoordinate
center ()
const {
return impl().center(); }
51 GlobalCoordinate
global (
const LocalCoordinate &
local )
const
53 return impl().global( local );
56 LocalCoordinate
local (
const GlobalCoordinate &
global )
const
58 return impl().local( global );
63 return impl().integrationElement( local );
70 return impl().jacobianTransposed( local );
75 return impl().jacobianInverseTransposed( local );
78 const Implementation &
impl ()
const {
return *impl_; }
81 const Implementation *impl_;
88 template<
int mydim,
int cdim,
class Gr
id >
90 :
public GeometryReference< typename remove_const< Grid >::type::Traits::template Codim< remove_const< Grid >::type::dimension - mydim >::LocalGeometryImpl >
92 typedef typename remove_const< Grid >::type::Traits::template Codim< remove_const< Grid >::type::dimension - mydim >::LocalGeometryImpl Implementation;
105 template<
class Implementation >
106 const int GeometryReference< Implementation >::mydimension;
108 template<
class Implementation >
109 const int GeometryReference< Implementation >::coorddimension;
113 #endif // #ifndef DUNE_GRID_ALBERTAGRID_GEOMETRYREFERENCE_HH
GlobalCoordinate corner(int i) const
Definition: geometryreference.hh:48
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
Implementation::LocalCoordinate LocalCoordinate
Definition: geometryreference.hh:33
ctype volume() const
Definition: geometryreference.hh:66
Wrapper and interface classes for element geometries.
Include standard header files.
Definition: agrid.hh:59
static const int coorddimension
Definition: geometryreference.hh:29
Implementation::GlobalCoordinate GlobalCoordinate
Definition: geometryreference.hh:34
GlobalCoordinate center() const
Definition: geometryreference.hh:49
Implementation::JacobianTransposed JacobianTransposed
Definition: geometryreference.hh:37
Definition: geometryreference.hh:89
JacobianInverseTransposed jacobianInverseTransposed(const LocalCoordinate &local) const
Definition: geometryreference.hh:73
int corners() const
Definition: geometryreference.hh:47
Implementation::JacobianInverseTransposed JacobianInverseTransposed
Definition: geometryreference.hh:36
const Implementation & impl() const
Definition: geometryreference.hh:78
LocalCoordinate local(const GlobalCoordinate &global) const
Definition: geometryreference.hh:56
ctype integrationElement(const LocalCoordinate &local) const
Definition: geometryreference.hh:61
GeometryReference(const Implementation &impl)
Definition: geometryreference.hh:39
Implementation::ctype ctype
Definition: geometryreference.hh:31
bool affine() const
Definition: geometryreference.hh:45
static const int mydimension
Definition: geometryreference.hh:28
GeometryType type() const
Definition: geometryreference.hh:43
LocalGeometryReference(const Implementation &impl)
Definition: geometryreference.hh:95
GlobalCoordinate global(const LocalCoordinate &local) const
Definition: geometryreference.hh:51
Definition: geometryreference.hh:23
JacobianTransposed jacobianTransposed(const LocalCoordinate &local) const
Definition: geometryreference.hh:68