Skip to content
Snippets Groups Projects
Commit 3aa4044a authored by Robert Klöfkorn's avatar Robert Klöfkorn
Browse files

make vertex projection available


git-svn-id: https://dune.mathematik.uni-freiburg.de/svn/alugrid/trunk@1077 0d966ed9-3843-0410-af09-ebfb50bd7c74
parent b9331d9c
No related branches found
No related tags found
No related merge requests found
......@@ -37,8 +37,12 @@ class GitterDuneBasis : public virtual GitterBasis
enum IndexType { no_index = 0 , hierarchic_index = 1, leaf_index = 3 };
protected:
// adaptation callback handler
AdaptRestrictProlongType * _arp;
// vertex projection class
ProjectVertex* _ppv;
// call preCoarsening and postRefinement of arp
virtual int preCoarsening (Gitter::helement_STI &);
virtual int postRefinement (Gitter::helement_STI &);
......@@ -47,6 +51,9 @@ protected:
virtual int preCoarsening (Gitter::hbndseg_STI &);
virtual int postRefinement (Gitter::hbndseg_STI &);
// return pointer to vertex projection
virtual ProjectVertex* vertexProjection() const { return _ppv; }
virtual void setAdaptRestrictProlongOp ( AdaptRestrictProlongType & arp );
virtual void removeAdaptRestrictProlongOp ();
......@@ -59,7 +66,7 @@ protected:
virtual IteratorSTI < Gitter :: helement_STI > * leafIterator (const IteratorSTI < Gitter :: helement_STI > *) = 0 ;
public:
GitterDuneBasis() : _arp(0) , maxlevel_(0) {}
GitterDuneBasis(ProjectVertex* ppv) : _arp(0), _ppv( ppv ), maxlevel_(0) {}
virtual void backupIndices (ostream & out);
virtual void restoreIndices (istream & in );
......@@ -111,11 +118,15 @@ class GitterDuneImpl : public GitterBasisImpl , public GitterDuneBasis
public:
//! constructor creating grid from macro grid file
inline GitterDuneImpl (const char *filename) :
GitterBasisImpl ( filename ) {}
inline GitterDuneImpl (const char *filename, ProjectVertex* ppv = 0 )
: GitterBasisImpl (filename )
, GitterDuneBasis ( ppv )
{}
//! constructor creating empty grid
inline GitterDuneImpl () : GitterBasisImpl () {}
inline GitterDuneImpl ()
: GitterBasisImpl ()
, GitterDuneBasis( (ProjectVertex *)0 ) {}
};
......
......@@ -28,8 +28,12 @@ public:
typedef GitterDuneImpl :: Objects Objects;
GitterDunePll (const char * filename , MpAccessLocal &mp)
: GitterBasisPll (filename,mp) , balanceGrid_ (false)
GitterDunePll (const char * filename ,
MpAccessLocal &mp,
ProjectVertex* ppv = 0 )
: GitterDuneBasis( ppv )
, GitterBasisPll (filename,mp)
, balanceGrid_ (false)
{
#ifndef NDEBUG
__STATIC_myrank = mp.myrank();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment