edgeinfocontainer.h

Go to the documentation of this file.
00001 #ifndef __EdgeInfoContainer_h
00002 #define __EdgeInfoContainer_h
00003 
00004 #include "edgeinfo.h"
00005 #include "hierarchicalmesh2d.h"
00006 #include "hierarchicalmesh3d.h"
00007 #include "nvector.h"
00008 
00009 /**********************************************************/
00010 
00011 namespace Gascoigne
00012 {
00013 
00014 class EdgeInfoContainerInterface
00015 {
00016  public:
00017 
00018   EdgeInfoContainerInterface() {}
00019   virtual ~EdgeInfoContainerInterface() {}
00020 
00021   virtual const HierarchicalMesh* GetMesh() const=0;
00022   virtual void BasicInit(const HierarchicalMesh*, int)=0;
00023 };
00024 
00025 template<int DIM>
00026   class EdgeInfoContainer : public virtual EdgeInfoContainerInterface, public nvector<EdgeInfo<DIM>*>
00027 {
00028 
00029  protected:
00030 
00031   const HierarchicalMesh* _HMP;
00032   int                     _ncomp;
00033 
00034  public:
00035 
00036   EdgeInfoContainer<DIM>() {}
00037   ~EdgeInfoContainer<DIM>();
00038 
00039   void BasicInit(const HierarchicalMesh*, int);
00040   void ModifyHanging();
00041 
00042   const HierarchicalMesh* GetMesh() const { return _HMP; }
00043 
00044   void ShowStatistics() const;
00045 };
00046 }
00047 
00048 #endif

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