MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00010 //---------------------------------------------------------------------------------- 00011 00012 #ifndef __mlITKCommandIterationUpdate_H 00013 #define __mlITKCommandIterationUpdate_H 00014 00016 #include "mlInitSystemITKSupport.h" 00017 00018 #ifndef __mlModuleIncludes_H 00019 #include "mlModuleIncludes.h" 00020 #endif 00021 00022 #include <itkCommand.h> 00023 00024 ML_START_NAMESPACE 00025 00026 //---------------------------------------------------------------------------------- 00028 //---------------------------------------------------------------------------------- 00029 class MLITK_SUPPORT_EXPORT ITKCommandIterationUpdate : public itk::Command 00030 { 00031 public: 00032 00034 typedef ITKCommandIterationUpdate Self; 00035 00037 typedef itk::Command Superclass; 00038 00040 typedef itk::SmartPointer<Self> Pointer; 00041 00043 typedef itk::SmartPointer<const Self> ConstPointer; 00044 00046 itkTypeMacro( ITKCommandIterationUpdate, ::itk::Command); 00047 00049 itkNewMacro(Self); 00050 00053 void setObject(itk::Object *object); 00054 00057 void setStringField(StringField *strField); 00058 00061 StringField *getStringField() const; 00062 00065 void setEndEventField(Field *strField); 00066 00068 Field* getEndEventField() const; 00069 00071 void reset(); 00072 00073 protected: 00074 00076 ITKCommandIterationUpdate(); 00077 00079 ~ITKCommandIterationUpdate(); 00080 00082 virtual void Execute(itk::Object *obj, const itk::EventObject &event); 00083 00086 virtual void Execute(const itk::Object *obj, const itk::EventObject &event); 00087 00088 private: 00089 00091 unsigned long _observerHandleStartEvent; 00092 00094 unsigned long _observerHandleIterationEvent; 00095 00097 unsigned long _observerHandleEndEvent; 00098 00100 unsigned long _registered; 00101 00103 itk::Object *_object; 00104 00106 ml::StringField *_stringField; 00107 00109 ml::Field *_endEventField; 00110 00112 int _eventCounter; 00113 }; 00114 00115 00116 ML_END_NAMESPACE 00117 00118 #endif 00119