00001 #ifndef __vtkPluginFilterWatcher_h 00002 #define __vtkPluginFilterWatcher_h 00003 00004 #include "vtkCommand.h" 00005 #include "vtkAlgorithm.h" 00006 #include "ModuleProcessInformation.h" 00007 #include "vtkMimxIOWin32Header.h" 00008 00009 #include <string> 00010 00045 class vtkPluginWatcherStart; 00046 class vtkPluginWatcherEnd; 00047 class vtkPluginWatcherProgress; 00048 00049 class VTK_MIMXIO_EXPORT vtkPluginFilterWatcher 00050 { 00051 public: 00054 vtkPluginFilterWatcher(vtkAlgorithm* o, 00055 const char *comment="", 00056 ModuleProcessInformation *inf=0, 00057 double fraction = 1.0, 00058 double start = 0.0); 00059 00061 virtual ~vtkPluginFilterWatcher(); 00062 00065 const char *GetNameOfClass () 00066 { 00067 return (Process ? Process->GetClassName() : "None"); 00068 } 00069 00072 void QuietOn() {Quiet = true;}; 00073 void QuietOff() {Quiet = false;}; 00074 00077 vtkAlgorithm *GetProcess () {return Process;}; 00078 00080 void SetSteps(int val) {Steps=val;}; 00081 int GetSteps() {return Steps;}; 00082 00084 double GetStart() {return this->Start;}; 00085 double GetFraction() {return this->Fraction;}; 00086 00089 void SetQuiet(bool val) {Quiet=val;}; 00090 bool GetQuiet() {return Quiet;}; 00091 00093 std::string GetComment() {return Comment;}; 00094 00096 ModuleProcessInformation *GetProcessInformation() {return this->ProcessInformation;}; 00097 00098 00099 protected: 00100 00101 private: 00102 int Steps; 00103 bool Quiet; 00104 std::string Comment; 00105 vtkAlgorithm *Process; 00106 00107 ModuleProcessInformation *ProcessInformation; 00108 double Fraction; 00109 double Start; 00110 00111 vtkPluginWatcherStart *StartFilterCommand; 00112 vtkPluginWatcherEnd *EndFilterCommand; 00113 vtkPluginWatcherProgress *ProgressFilterCommand; 00114 00115 unsigned long StartTag; 00116 unsigned long EndTag; 00117 unsigned long ProgressTag; 00118 }; 00119 00120 #endif
1.6.1