00001 #ifndef REPLICATEDDOFMAP_H
00002 #define REPLICATEDDOFMAP_H
00003
00004 #include "SundanceDefs.h"
00005 #include "TSFHashtable.h"
00006 #include "DOFMapBase.h"
00007
00008
00009
00010 namespace Sundance
00011 {
00012
00013 using namespace TSF;
00014 using std::string;
00015
00016 using std::ostream;
00017
00018
00019
00020
00021
00022 class ReplicatedDOFMap : public DOFMapBase
00023 {
00024 public:
00025
00026 ReplicatedDOFMap(int nFuncs);
00027
00028
00029 virtual ~ReplicatedDOFMap() {;}
00030
00031
00032 virtual const TSFArray<int>& lookup(int cellDim, int cellIndex,
00033 int funcID) const ;
00034
00035 virtual int guaranteedPointLookup(int cellIndex, int funcID) const ;
00036
00037
00038 virtual void getCellTypes(TSFNonDupArray<CellTopologyCode>& cellTypes) const;
00039
00040
00041 void print() const ;
00042
00043 virtual int maxCellDimension() const ;
00044 private:
00045 TSFArray<TSFArray<int> > dof_;
00046 };
00047
00048
00049 }
00050 #endif