3#ifndef DUNE_ALU2DGRIDDATAHANDLE_HH
4#define DUNE_ALU2DGRIDDATAHANDLE_HH
12#include "alu2dinclude.hh"
18namespace ALU2DSPACENAME
26 template<
class Gr
idType,
class AdaptDataHandle >
27 class AdaptRestrictProlong2dImpl
28 :
public AdaptRestrictProlong2d ALU2DDIMWORLD( GridType::dimensionworld, GridType::elementType )
31 typedef Dune :: MakeableInterfaceObject<typename GridType::template Codim<0>::Entity> EntityType;
32 typedef typename EntityType :: ImplementationType RealEntityType;
33 typedef typename Dune::ALU2dImplTraits< GridType::dimensionworld, GridType::elementType >::HElementType HElementType ;
35 EntityType & reFather_;
37 RealEntityType & realFather_;
38 RealEntityType & realSon_;
47 AdaptRestrictProlong2dImpl ( GridType &grid,
48 EntityType &f, RealEntityType &rf,
49 EntityType &s, RealEntityType &rs,
60 virtual ~AdaptRestrictProlong2dImpl ()
64 int preCoarsening ( HElementType &father )
66 maxlevel_ = std::max( maxlevel_, father.level() );
68 realFather_.setElement( father );
69 rp_.preCoarsening( reFather_ );
75 int postRefinement ( HElementType &father )
77 maxlevel_ = std::max( maxlevel_, father.level()+1 );
79 realFather_.setElement( father );
80 rp_.postRefinement( reFather_ );
85 int maxLevel ()
const {
return maxlevel_; }
interfaces and wrappers needed for the callback adaptation provided by AlbertaGrid and ALUGrid