MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 // 00010 // This class maintains a list of raster functions. 00011 // It uses an stl vector to manage the list. 00012 // The class is derived from Base to have a common base class 00013 // for some classes and to have the possibility to add persistence 00014 // to the object later. 00015 //-------------------------------------------------------------------------------- 00016 #ifndef __mlRasterFunctionList_H 00017 #define __mlRasterFunctionList_H 00018 00019 //ML-includes 00020 #ifndef __mlBaseInit_H 00021 #include "mlBaseInit.h" 00022 #endif 00023 #ifndef __mlRasterFunction_H 00024 #include "mlRasterFunction.h" 00025 #endif 00026 00027 ML_START_NAMESPACE 00028 00029 //-------------------------------------------------------------------------------- 00031 //-------------------------------------------------------------------------------- 00032 class MLBASEEXPORT RasterFunctionList : public Base { 00033 00034 public: 00036 RasterFunctionList() {}; 00037 00039 virtual ~RasterFunctionList() {}; 00040 00042 //virtual std::vector<RasterFunction> &getList() { return objects; } 00043 00045 virtual size_t getListSize() 00046 { return objects.size(); } 00047 00049 virtual void setListElement(size_t idx, const RasterFunction &elem) 00050 { objects[idx]=elem; } 00051 00053 virtual void appendToList(const RasterFunction &elem) 00054 { objects.push_back(elem); } 00055 00057 virtual const RasterFunction &getListElement(size_t idx) 00058 { return objects[idx]; } 00059 00061 virtual char* getPersistentState() const { return 0; }; 00062 00064 virtual void setPersistentState(const char* /*state*/) { }; 00065 00067 virtual void clearPersistentState(char* /*state*/) const { }; 00068 00071 RasterFunction* getPtr(MLssize_t index = -1); 00072 00075 void setValue(MLssize_t index, const RasterFunction& obj); 00076 00078 void removeValue(MLssize_t index = -1); 00079 00081 void clear(); 00082 00083 private: 00084 00085 //-------------------------------------------------------------------------------- 00088 //-------------------------------------------------------------------------------- 00089 ML_CLASS_HEADER(RasterFunctionList); 00090 00092 std::vector<RasterFunction> objects; 00093 }; 00094 00095 ML_END_NAMESPACE 00096 00097 #endif // of __mlRasterFunctionList_H