00001 #ifndef DUNE_DG_LAGRANGESHAPEFUNCTIONS_HH
00002 #define DUNE_DG_LAGRANGESHAPEFUNCTIONS_HH
00003
00004 #include "../lagrangeshapefunctions.hh"
00005 #include "monomialshapefunctions.hh"
00006
00007 namespace Dune {
00008
00009 template<typename C, typename T, int d, int maxOrder>
00010 class DGLagrangeShapeFunctionSetContainer :
00011 public LagrangeShapeFunctionSetContainer<C,T,d>
00012 {
00013 typedef LagrangeShapeFunctionSetContainer<C,T,d> BaseType;
00014 public:
00015
00016 enum { dim=d };
00017 enum { comps=1 };
00018 enum { maxsize=MonomialShapeFunctionSetSize<d,maxOrder>::maxSize };
00019
00020
00021 typedef C CoordType;
00022 typedef T ResultType;
00023
00025 typedef LagrangeShapeFunctionSet<C,T,d> value_type;
00026 typedef LagrangeShapeFunctionSet<C,T,d> ShapeFunctionSet;
00027
00028 const value_type& operator() (GeometryType type, int order) const
00029 {
00030 static GeometryType simplex(GeometryType::simplex, dim);
00031 return BaseType::operator()(simplex,order);
00032 }
00033 };
00034
00035 }
00036
00037 #endif