MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLCSO/CSOBase/CSOModuleBase/CSOBaseModule.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 #ifndef __CSOBaseModule_H
00012 #define __CSOBaseModule_H
00013 
00014 #include "MLCSOIncludes.h"
00015 
00016 #include "../CSOList.h"
00017 #include "../CSOScopeEvents.h"
00018 
00019 
00020 ML_START_NAMESPACE
00021 
00023 
00025 class MLCSO_EXPORT CSOBaseModule : public Module
00026 { 
00027 
00028 public:
00029 
00031   CSOBaseModule(const std::string& type="CSOBaseModule", int numInImages=0,int numOutImages=0);
00032 
00033 protected:
00034 
00036   virtual ~CSOBaseModule();
00037 
00039   virtual void activateAttachments();
00040 
00042   virtual void handleNotification(Field* field);
00043 
00044 protected:
00045 
00046   /* FIELDS */
00047 
00049   EnumField* _updateModeFld;
00051   BoolField* _autoApplyFld;
00053   NotifyField* _applyFld;
00054   
00056   BoolField* _isProcessingFld;
00058   NotifyField* _doneFld;
00059 
00060   
00061   /* MEMBER VARIABLES */
00062 
00065   std::string _type;
00066   
00067   /* METHODS */
00068   
00070   void _setIsProcessingFlag(bool newProcessingState);
00071   
00072   ML_MODULE_CLASS_HEADER(CSOBaseModule);
00073 };
00074 
00075 ML_END_NAMESPACE
00076 
00077 #endif // __CSOBaseModule_H