Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef ALBANY_CATALYST_ADAPTER
00008 #define ALBANY_CATALYST_ADAPTER
00009
00010 #include <string>
00011 #include "Teuchos_ParameterList.hpp"
00012
00013 class Epetra_Vector;
00014 class vtkCPPipeline;
00015
00016 namespace Albany {
00017 namespace Catalyst {
00018 class Decorator;
00019
00020 class Adapter
00021 {
00022 public:
00024 static Adapter * initialize(const Teuchos::RCP<Teuchos::ParameterList> &catalystParams);
00025 static Adapter * get();
00026 static void cleanup();
00028
00030 bool addPythonScriptPipeline(const std::string &filename);
00031
00033 bool addPipeline(vtkCPPipeline *pipeline);
00034
00036 void update(int timeStep, double time, Decorator &decorator,
00037 const Epetra_Vector &soln);
00038
00040 static Teuchos::RCP<const Teuchos::ParameterList> getValidAdapterParameters();
00041
00042 private:
00043 static Adapter *instance;
00044 Adapter();
00045 ~Adapter();
00046
00047 Adapter(const Adapter &);
00048 void operator=(const Adapter &);
00049
00050 class Private;
00051 Private * const d;
00052 };
00053
00054 }
00055 }
00056
00057 #endif // ALBANY_CATALYST_ADAPTER