PlayaEpetraGhostImporter.hpp
00001
00002
00003
00004
00005 #ifndef PLAYA_EPETRAGHOSTIMPORTER_HPP
00006 #define PLAYA_EPETRAGHOSTIMPORTER_HPP
00007
00008 #include "PlayaDefs.hpp"
00009 #include "PlayaGhostImporter.hpp"
00010 #include "PlayaGhostView.hpp"
00011 #include "Epetra_Map.h"
00012 #include "Epetra_Import.h"
00013 #include "Teuchos_Utils.hpp"
00014
00015
00016
00017 namespace Playa
00018 {
00019 using namespace Teuchos;
00020
00021
00025 class EpetraGhostImporter : public GhostImporter<double>
00026 {
00027 public:
00029 EpetraGhostImporter(const RCP<const Epetra_Map>& epetraMap,
00030 int nGhost,
00031 const int* ghostElements);
00033 virtual ~EpetraGhostImporter() {;}
00034
00039 virtual void importView(const Vector<double>& x,
00040 RCP<GhostView<double> >& ghostView) const ;
00041
00042 private:
00043 RCP<const Epetra_Map> localMap_;
00044
00045 RCP<const Epetra_Map> ghostMap_;
00046
00047 RCP<Epetra_Import> importer_;
00048 };
00049
00050 }
00051
00052 #endif