patchmesh.h

Go to the documentation of this file.
00001 #ifndef  __PatchMesh_h
00002 #define  __PatchMesh_h
00003 
00004 #include  "meshinterface.h"
00005 
00006 /*-----------------------------------------*/
00007 
00008 namespace Gascoigne
00009 {
00010   class PatchMesh : public virtual MeshInterface
00011   {
00012   
00013     private:
00014 
00015     protected:
00016 
00017     public:
00018       PatchMesh() {};
00019       virtual ~PatchMesh() {}
00020  
00021       virtual bool       HasPatch()                        const=0;
00022       virtual bool       HasQ4Patch()                      const=0;
00023       virtual int        npatches()                        const=0;
00024       virtual int        nq4patches()                      const=0;
00025       virtual int        nodes_per_patch()                 const=0;
00026       virtual int        nodes_per_q4patch()               const=0;
00027       virtual IntVector  Q2IndicesOfQ4Patch(int iq)        const=0;
00028       virtual IntVector  CoarseIndices(int iq)             const=0;
00029       virtual IntVector  CoarseIndicesQ4(int iq)           const=0;
00030       virtual const IntVector* IndicesOfPatch(int i)       const=0;
00031       virtual const IntVector* IndicesOfQ4Patch(int i)     const=0;
00032       virtual const IntVector* VertexOnBoundary(int color) const=0;
00033       virtual const IntVector* CellOnBoundary(int color)   const=0;
00034       virtual const IntVector* LocalOnBoundary(int color)  const=0;
00035 
00036       virtual bool CellIsCurved(int iq)                    const {
00037         return false;
00038       }
00039 
00040       // MPI
00041       virtual void send(int p) const {
00042         std::cerr << "\"PatchMesh::send\" not written!" << std::endl;
00043         abort();
00044       }
00045       virtual void recv(int p) {
00046         std::cerr << "\"PatchMesh::recv\" not written!" << std::endl;
00047         abort();
00048       }
00049   };
00050 }
00051 
00052 #endif

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