namespace creaImageIO
{
-
+ using namespace std;
namespace tree
{
/**
- * \ingroup Model
+ * \ingroup Tree
*/
///Descriptor of the structure of a Tree (number of levels, descriptors of each level, ...).
/// Returns the LevelDescriptor of a given level (const ref)
const LevelDescriptor& GetLevelDescriptor(int level) const
{ return mLevelDescriptorList[level]; }
- /// Returns the LevelDescriptor of a given level (ref)
- LevelDescriptor& GetLevelDescriptor(int level)
- { return mLevelDescriptorList[level]; }
/// Returns the AttributeDescriptorList of a given level (const ref)
const LevelDescriptor::AttributeDescriptorListType&
GetAttributeDescriptorList(int level) const
{ return mLevelDescriptorList[level].GetAttributeDescriptorList(); }
- /// Returns the AttributeDescriptorList of a given level (ref)
- //LevelDescriptor::AttributeDescriptorListType&
- //GetAttributeDescriptorList(int level)
- //{ return mLevelDescriptorList[level].GetAttributeDescriptorList(); }
-
+ /// Adds a LevelDescriptor at the end of the list
+ void Add(const LevelDescriptor&);
+
+ /// Adds an AttributeDescriptor to level l
+ void Add(const AttributeDescriptor&, int l);
+
+
/// Builds the key to value map of all the attributes of the tree
- void BuildAttributeMap( AttributeMapType& ) const;
+ void BuildAttributeMap( AttributeMapType& ) const;
/// The type of LevelDescriptor container
- typedef std::vector<LevelDescriptor> LevelDescriptorListType;
- /// Returns the list of LevelDescriptor
- LevelDescriptorListType& GetLevelDescriptorList() { return mLevelDescriptorList; }
+ typedef std::vector<LevelDescriptor> LevelDescriptorListType;
+
/// Returns the list of tree levels (const)
- const LevelDescriptorListType& GetLevelDescriptorList() const { return mLevelDescriptorList; }
+ const LevelDescriptorListType& GetLevelDescriptorList() const { return mLevelDescriptorList; }
+
+ /// Clears the Descriptor
+ void Clear();
+
+ //Create Attribute Descriptors from a file
+ void createDescriptorfromFile(const std::string &i_file);
private:
LevelDescriptorListType mLevelDescriptorList;