3 #ifndef DUNE_DEFAULTBASISFACTORY_HH
4 #define DUNE_DEFAULTBASISFACTORY_HH
7 #include <dune/common/exceptions.hh>
8 #include <dune/geometry/topologyfactory.hh>
31 template<
class PreBFactory,
32 class InterpolFactory,
33 unsigned int dim,
unsigned int dimR,
35 class PreBasisKeyExtractor = Identity >
36 struct DefaultBasisFactory;
38 template<
class PreBFactory,
39 class InterpolFactory,
40 unsigned int dim,
unsigned int dimR,
42 class PreBasisKeyExtractor >
49 typedef typename PreBasisFactory::Object
PreBasis;
59 typedef typename InterpolationFactory::Key
Key;
63 template<
class PreBFactory,
64 class InterpolFactory,
65 unsigned int dim,
unsigned int dimR,
67 class PreBasisKeyExtractor >
70 DefaultBasisFactoryTraits< PreBFactory,InterpolFactory,dim,dimR,SF,CF,PreBasisKeyExtractor >
83 template <
unsigned int dd,
class FF>
90 template<
class Topology >
93 const typename PreBasisFactory::Key preBasisKey = PreBasisKeyExtractor::apply(key);
94 const typename Traits::PreBasis *preBasis = Traits::PreBasisFactory::template create<Topology>( preBasisKey );
95 const typename Traits::Interpolation *interpol = Traits::InterpolationFactory::template create<Topology>( key );
100 const typename Traits::MonomialBasis *monomialBasis = Traits::MonomialBasisFactory::template create< Topology >( preBasis->order() );
104 basis->fill( matrix );
121 #endif // #ifndef DUNE_DEFAULTBASISFACTORY_HH