vtkPluginFilterWatcher.h

Go to the documentation of this file.
00001 #ifndef __vtkPluginFilterWatcher_h
00002 #define __vtkPluginFilterWatcher_h
00003 
00004 #include "vtkCommand.h"
00005 #include "vtkAlgorithm.h"
00006 #include "ModuleProcessInformation.h"
00007 
00008 #include "vtkSlicerBaseCLIWin32Header.h"
00009 
00010 #include <string>
00011 
00046 class vtkPluginWatcherStart;
00047 class vtkPluginWatcherEnd;
00048 class vtkPluginWatcherProgress;
00049 
00050 class VTK_SLICER_BASE_CLI_EXPORT vtkPluginFilterWatcher
00051 {
00052 public:
00055   vtkPluginFilterWatcher(vtkAlgorithm* o,
00056                          const char *comment="",
00057                          ModuleProcessInformation *inf=0,
00058                          double fraction = 1.0,
00059                          double start = 0.0);
00060 
00062   virtual ~vtkPluginFilterWatcher();
00063 
00066   const char *GetNameOfClass ()
00067     {
00068       return (Process ? Process->GetClassName() : "None");
00069     }
00070 
00074   void QuietOn() { this->SetQuiet(true);};
00075   void QuietOff() { this->SetQuiet(false);};
00076 
00079   vtkAlgorithm *GetProcess () {return Process;};
00080 
00082   void SetSteps(int val) {Steps=val;};
00083   int GetSteps() {return Steps;};
00084 
00086   double GetStart() {return this->Start;};
00087   double GetFraction() {return this->Fraction;};
00088 
00091   void SetQuiet(bool val);
00092   bool GetQuiet() {return Quiet;};
00093 
00095   std::string GetComment() {return Comment;};
00096 
00098   ModuleProcessInformation *GetProcessInformation() {return this->ProcessInformation;};
00099 
00100 
00101 protected:
00102 
00103 private:
00104   int Steps;
00105   bool Quiet;
00106   std::string Comment;
00107   vtkAlgorithm *Process;
00108 
00109   ModuleProcessInformation *ProcessInformation;
00110   double Fraction;
00111   double Start;
00112 
00113   vtkPluginWatcherStart *StartFilterCommand;
00114   vtkPluginWatcherEnd *EndFilterCommand;
00115   vtkPluginWatcherProgress *ProgressFilterCommand;
00116 
00117   unsigned long StartTag;
00118   unsigned long EndTag;
00119   unsigned long ProgressTag;
00120 };
00121 
00122 #endif

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1