MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 // 00010 // ML Image Format IO 00011 //---------------------------------------------------------------------------------- 00012 00013 #ifndef __mlImageFormatCompressionParams_H 00014 #define __mlImageFormatCompressionParams_H 00015 00016 00017 // Local includes 00018 #ifndef __MLImageFormatBaseSystem_H 00019 #include "MLImageFormatBaseSystem.h" 00020 #endif 00021 00022 // ML includes 00023 #ifndef __mlModuleIncludes_H 00024 #include "mlModuleIncludes.h" 00025 #endif 00026 00027 #ifndef __mlImageFormatTagList_H 00028 #include "mlImageFormatTagList.h" 00029 #endif 00030 00031 #ifndef __mlDataCompressor_H 00032 #include "mlDataCompressor.h" 00033 #endif 00034 00035 00036 ML_START_NAMESPACE 00037 00038 // Forward declaration. 00039 class MLImageFormat; 00040 00041 // ---------------------------------------------------------- 00043 // ---------------------------------------------------------- 00044 class MLIMAGEFORMATBASE_EXPORT MLImageFormatCompressionParams { 00045 00046 public: 00047 00049 MLImageFormatCompressionParams(Module &baseOp); 00050 00052 00053 const EnumField &getCompressorNameFld () const { return *_compressorNameFld ; } 00054 const std::vector<std::string> &getCompressorNames () const { return _compressorNames ; } 00055 const MLImageFormatTagList &getCompressorArgs () const { return _compressorArgs ; } 00056 const StringField* const* getHintNameFlds () const { return _hintNameFld ; } 00057 const DoubleField* const* getDblHintValFlds () const { return _dblHintValFld ; } 00058 const IntField * const* getIntHintValFlds () const { return _intHintValFld ; } 00059 const StringField* const* getStrHintValFlds () const { return _strHintValFld ; } 00060 const BoolField * const* getBoolHintValFlds () const { return _boolHintValFld ; } 00061 const BoolField * const* getIntHintVisibleFlds () const { return _intHintVisibleFld ; } 00062 const BoolField * const* getStrHintVisibleFlds () const { return _strHintVisibleFld ; } 00063 const BoolField * const* getDblHintVisibleFlds () const { return _dblHintVisibleFld ; } 00064 const BoolField * const* getBoolHintVisibleFlds () const { return _boolHintVisibleFld ; } 00066 00072 void updateHintFieldsOrArgs(bool updateFields, DataCompressor* compressor); 00073 00079 void handleCompressionFieldChanges(Field *field); 00080 00084 void updateCompressionFieldsToLoaderState(const MLImageFormat &loader); 00085 00087 void resetCompressionParams(); 00088 00089 00090 protected: 00091 00093 Module &_baseOp; 00094 00095 //--- Members 00097 std::vector<std::string> _compressorNames; 00098 00100 MLImageFormatTagList _compressorArgs; 00101 00102 00103 //--- Fields 00104 00106 EnumField *_compressorNameFld; 00107 00109 00110 StringField *_hintNameFld [DataCompressor::MaxHints]; 00111 00112 DoubleField *_dblHintValFld [DataCompressor::MaxHints]; 00113 IntField *_intHintValFld [DataCompressor::MaxHints]; 00114 StringField *_strHintValFld [DataCompressor::MaxHints]; 00115 BoolField *_boolHintValFld [DataCompressor::MaxHints]; 00116 00117 BoolField *_intHintVisibleFld [DataCompressor::MaxHints]; 00118 BoolField *_strHintVisibleFld [DataCompressor::MaxHints]; 00119 BoolField *_dblHintVisibleFld [DataCompressor::MaxHints]; 00120 BoolField *_boolHintVisibleFld[DataCompressor::MaxHints]; 00121 00122 00123 private: 00125 00126 MLImageFormatCompressionParams(); 00127 MLImageFormatCompressionParams(const MLImageFormatCompressionParams &); 00128 MLImageFormatCompressionParams &operator=(const MLImageFormatCompressionParams &); 00130 00131 }; 00132 00133 ML_END_NAMESPACE 00134 00135 #endif // __mlImageFormatCompressionParams_H 00136 00137