creaImageIOTree.h

Go to the documentation of this file.
00001 #ifndef __creaImageIOTree_h_INCLUDED__
00002 #define __creaImageIOTree_h_INCLUDED__
00003 
00004 #include <creaImageIOTreeNode.h>
00005 
00006 namespace creaImageIO
00007 {
00008 
00009   namespace tree
00010   {
00014     //=====================================================================
00016     struct TreeData
00017     { 
00018       TreeData() {}
00019       virtual ~TreeData() {}
00020     };
00021     //=====================================================================
00022     
00023     //=====================================================================
00025 
00027     class Tree : public Node
00028     {
00029     public:
00031       Tree();
00033       virtual ~Tree();
00034       
00036     
00038       virtual Tree* GetTree() { return this; }
00040       virtual const Tree* GetTree() const { return this; }
00042       virtual int GetLevel() const { return 0; }
00043       
00045       const Descriptor& GetDescriptor() const { return mDescriptor; }
00047       Descriptor& GetDescriptor() { return mDescriptor; }
00048 
00050       unsigned int GetNumberOfLevels() 
00051       { return GetDescriptor().GetNumberOfLevels(); }
00052 
00054       const LevelDescriptor& GetLevelDescriptor(int level) const
00055       { return GetDescriptor().GetLevelDescriptor(level); }
00056 
00058       const LevelDescriptor::AttributeDescriptorListType& 
00059       GetAttributeDescriptorList(int level) const
00060       { return GetDescriptor().GetAttributeDescriptorList(level); }
00061   
00062       virtual void Print() const;
00063 
00064     private:
00065       Descriptor mDescriptor;
00066 
00067     };
00068     // EO class Tree
00069     //=====================================================================
00070 
00071   } // EO namespace tree
00072   
00073 } // EO namespace creaImageIO
00074 
00075 // EOF
00076 #endif  

Generated on Mon Jun 22 10:49:30 2009 for CreaImageIO by  doxygen 1.5.3