hangcontainer2d.h

Go to the documentation of this file.
00001 #ifndef __hangcontainer2d_h
00002 #define __hangcontainer2d_h
00003 
00004 #include  "hanglist.h"
00005 #include  "gascoigne.h"
00006 
00007 /*********************************************************************/
00008 
00009 namespace Gascoigne
00010 {
00011 class HangContainer2d
00012 {
00013  protected:
00014 
00015   typedef  fixarray<2,int>               EdgeVector;
00016   
00017   HangList<2>   VertexToBeDeleted;  // ehemals haengende Knoten
00018   HangList<2>   VertexToBeCreated;  // neue haengende Knoten
00019   HangList<2>   NotAnyMoreHanging;  // Knoten bleibt aber haengt nicht mehr
00020 
00021   HangList<2>&  Hanging;  // dies sind die aktuellen haengenden Knoten
00022 
00023  public:
00024 
00025   HangContainer2d(HangList<2>& lh) : Hanging(lh) {}
00026 
00027   // Zugriff
00028 
00029   int  NToBeDeleted()   const { return VertexToBeDeleted.size(); }
00030   int  NToBeCreated()   const { return VertexToBeCreated.size(); }
00031 
00032   const HangList<2>& Deleting()   const { return VertexToBeDeleted;}
00033   const HangList<2>& Creating()   const { return VertexToBeCreated;}
00034   const HangList<2>& NotAnyMore() const { return NotAnyMoreHanging;}
00035         HangList<2>& NotAnyMore()       { return NotAnyMoreHanging;}
00036 
00037   bool ToBeDeleted(const EdgeVector& v) const;
00038   bool ToBeCreated(const EdgeVector& v) const;
00039 
00040   void make_consistent() { VertexToBeCreated.make_consistent(VertexToBeDeleted);}
00041 
00042   void load_elimination(IntVector&) const;
00043 
00044   void update_olds (IntVector&, const IntVector&);
00045   void update_news (const IntVector&,int);
00046 
00047   int  vertex_index (const EdgeVector&) const;
00048 
00049   void ghost_coarse (EdgeVector&,  int, int);
00050   void ghost_refine (EdgeVector&,  int);
00051 
00052   void NeighbourSwapper();
00053 };
00054 }
00055 
00056 /*********************************************************************/
00057 
00058 #endif

Generated on Thu Sep 14 10:34:37 2006 for Gascoigne by  doxygen 1.4.7