MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLBase/mlExtractObjectFromList.h
Go to the documentation of this file.
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