00001 #ifndef CELLREORDERERBASE_H
00002 #define CELLREORDERERBASE_H
00003
00004 #include "SundanceDefs.h"
00005 #include "Cell.h"
00006 #include "Mesh.h"
00007 #include "TSFNonDupArray.h"
00008
00009 namespace Sundance
00010 {
00011
00012 using namespace TSF;
00013 using std::string;
00014
00015 using std::ostream;
00016
00017
00018
00019
00020
00021
00022 class CellReordererBase
00023 {
00024 public:
00025 CellReordererBase() {;}
00026 virtual ~CellReordererBase() {;}
00027
00028 virtual void permute(const TSFArray<TSFNonDupArray<int> >& neighbors,
00029 TSFArray<int>& permutation) const = 0 ;
00030
00031 void permute(const Mesh& mesh, TSFArray<int>& permutation) const ;
00032
00033 private:
00034 };
00035
00036
00037 }
00038 #endif