00001 #ifndef __creaImageIOTreeLevelDescriptor_h_INCLUDED__ 00002 #define __creaImageIOTreeLevelDescriptor_h_INCLUDED__ 00003 00004 #include <creaImageIOTreeAttributeDescriptor.h> 00005 #include <vector> 00006 00007 namespace creaImageIO 00008 { 00009 00010 namespace tree 00011 { 00015 //===================================================================== 00017 class LevelDescriptor 00018 { 00019 public: 00021 LevelDescriptor(const std::string& name) : mName(name) {} 00023 ~LevelDescriptor() {} 00024 00026 const std::string& GetName() const { return mName; } 00027 00029 unsigned int GetNumberOfAttributes() const 00030 { return mAttributeDescriptorList.size(); } 00031 00033 void Add(const AttributeDescriptor&); 00034 00036 typedef std::vector<AttributeDescriptor> AttributeDescriptorListType; 00037 00039 const AttributeDescriptorListType& GetAttributeDescriptorList() const 00040 { return mAttributeDescriptorList; } 00041 00043 const std::vector<std::string>& GetIdentifierList() const 00044 { return mIdentifierList; } 00046 const std::vector<std::string>& GetLabelList() const 00047 { return mLabelList; } 00048 00049 private: 00050 std::string mName; 00051 AttributeDescriptorListType mAttributeDescriptorList; 00053 std::vector<std::string> mIdentifierList; 00055 std::vector<std::string> mLabelList; 00056 00057 }; 00058 // EO class LevelDescriptor 00059 //===================================================================== 00060 }// EO namespace tree 00061 00062 00063 } // EO namespace creaImageIO 00064 00065 // EOF 00066 #endif