1 #ifndef __creaImageIOTreeLevelDescriptor_h_INCLUDED__
2 #define __creaImageIOTreeLevelDescriptor_h_INCLUDED__
4 #include <creaImageIOTreeAttributeDescriptor.h>
15 //=====================================================================
16 /// Descriptor of a level of a Tree (name, attributes, ...)
21 LevelDescriptor(const std::string& name) : mName(name) {}
25 /// Returns the name of the level
26 const std::string& GetName() { return mName; }
28 /// Returns the number of attributes of the level
29 unsigned int GetNumberOfAttributes()
30 { return mAttributeDescriptorList.size(); }
32 /// Adds the AttributeDescriptor to the list
33 /// WARNING : You MUST use this method and NOT push_back directly in list
34 /// ad IdentifierList and LabelList are also updated
35 void Add(AttributeDescriptor);
37 /// The type of attribute container
38 typedef std::vector<AttributeDescriptor> AttributeDescriptorListType;
39 /// Returns the list of AttributeDescriptor
40 //AttributeDescriptorListType& GetAttributeDescriptorList()
41 //{ return mAttributeDescriptorList; }
42 /// Returns the list of AttributeDescriptor (const)
43 const AttributeDescriptorListType& GetAttributeDescriptorList() const
44 { return mAttributeDescriptorList; }
46 /// \return The list of attributes with flag IDENTIFIER set
47 const std::vector<std::string>& GetIdentifierList() const
48 { return mIdentifierList; }
49 /// \return The list of attributes with flag LABEL set
50 const std::vector<std::string>& GetLabelList() const
51 { return mLabelList; }
55 AttributeDescriptorListType mAttributeDescriptorList;
56 /// The list of attributes with flag IDENTIFIER set
57 std::vector<std::string> mIdentifierList;
58 /// The list of attributes with flag LABEL set
59 std::vector<std::string> mLabelList;
62 // EO class LevelDescriptor
63 //=====================================================================
67 } // EO namespace creaImageIO