MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00011 //---------------------------------------------------------------------------------- 00012 00013 00014 00015 #ifndef __mlExtractObjectFromList_H 00016 #define __mlExtractObjectFromList_H 00017 00018 00019 // ML includes 00020 #ifndef __mlModuleIncludes_H 00021 #include "mlModuleIncludes.h" 00022 #endif 00023 #ifndef __mlEngine_H 00024 #include "mlEngine.h" 00025 #endif 00026 00027 00028 // Local includes 00029 #ifndef __mlBaseInit_H 00030 #include "mlBaseInit.h" 00031 #endif 00032 00033 00034 ML_START_NAMESPACE 00035 00036 00037 // ------------------------------------------------------------------ 00040 // ------------------------------------------------------------------ 00041 00045 00047 class MLBASEEXPORT ExtractObjectFromList : public Engine 00048 { 00049 public: 00050 00052 ExtractObjectFromList (); 00053 00055 ~ExtractObjectFromList (); 00056 00060 IntField* posFld; 00061 00063 BaseField* outputObjectFld; 00064 00066 BaseField* inputListFld; 00067 00069 //BoolField* extractObjectContainerFld; // i'll insert this one on demand... 00070 00072 IntField* inputSizeFld; 00073 00075 BoolField* inputValidFld; 00076 00078 BoolField* objectValidFld; 00079 00081 void updateOutput(); 00082 00083 protected: 00084 /* 00085 template <class ITEMTYPE> 00086 Base* getItemAt(BaseList* inputList, MLssize_t index, ITEMTYPE* dummyItem) 00087 { 00088 BaseListTemplate<ITEMTYPE>* list = (BaseListTemplate<ITEMTYPE>*) inputList; 00089 return (Base*) &(*list)[index]; 00090 } 00091 */ 00092 00095 virtual void activateAttachments(); 00096 00098 virtual void handleNotification(Field* field); 00099 00101 Base* _outputObject; 00102 00103 private: 00104 00106 00107 00109 00111 ML_MODULE_CLASS_HEADER(ExtractObjectFromList); 00112 00113 }; 00114 00115 00116 ML_END_NAMESPACE 00117 00118 00119 #endif // __mlExtractObjectFromList_H 00120