MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLBase/mlComposeBaseList.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00005 
00011 // Defines the classes:
00012 //
00013 // - BaseContainerItem    : BaseItem-derived container class for Base-derived objects.
00014 // - BaseList             : BaseListTemplate<BaseContainer*>-derived container class for 
00015 //                          BaseContainer objects.
00016 // - DecomposeBaseList    : Operator with two output fields, decomposing a ListBase
00017 //                          input into a single base object and a so-called "rest list".
00018 //
00019 //----------------------------------------------------------------------------------
00020 
00021 
00022 
00023 #ifndef __mlComposeBaseList_H
00024 #define __mlComposeBaseList_H
00025 
00026 
00027 // ML includes
00028 #ifndef __mlModuleIncludes_H
00029 #include "mlModuleIncludes.h"
00030 #endif
00031 #ifndef __mlEngine_H
00032 #include "mlEngine.h"
00033 #endif
00034 
00035 
00036 // Local includes
00037 #ifndef __mlBaseInit_H
00038 #include "mlBaseInit.h"
00039 #endif
00040 
00041 ML_START_NAMESPACE
00042 
00043 
00044 // fwd dec
00045 class BaseList;
00046 
00047 // ------------------------------------------------------------------
00049 // ------------------------------------------------------------------
00050 
00056 
00063 class MLBASEEXPORT ComposeBaseList : public Engine
00064 {
00065 public:
00066     
00068     ComposeBaseList ();
00069     
00071     ~ComposeBaseList ();
00072     
00074     void composeBaseList();
00075     
00076 protected:
00077     
00080     virtual void activateAttachments();
00081     
00083     virtual void handleNotification(Field* field);
00084     
00086     BoolField* _cascadeModeFld;
00087     
00089     BaseField* _inputBase0Fld;
00090     
00092     BaseField* _inputBase1Fld;
00093     
00095     BaseField* _outputBaseListFld;
00096     
00098     IntField*  _outputSizeFld;
00099     
00101     IntField* _leftObjectIdFld;
00102     
00104     StringField* _leftObjectNameFld;
00105     
00107     BoolField* _useLeftObjectTypeFld;
00108     
00110     IntField* _rightObjectIdFld;
00111     
00113     StringField* _rightObjectNameFld;
00114     
00116     BoolField* _useRightObjectTypeFld;
00117     
00118     
00120     BaseList* _outputList;
00121     
00122 private:
00123     
00125 
00126     
00128     
00129     
00131     ML_MODULE_CLASS_HEADER(ComposeBaseList);
00132     
00133 };
00134 
00135 
00136 ML_END_NAMESPACE
00137 
00138 
00139 #endif // __mlComposeBaseList_H
00140