]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOTreeNode.cpp
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOTreeNode.cpp
index 6814203c004a77816090003b0bbeffde5ed4ab10..e34b31facbfc6f7bc93f304c64ba7c75973f98b1 100644 (file)
@@ -17,7 +17,7 @@ namespace creaImageIO
     {
       if (parent) 
        {
-         GimmickMessage(5,"Default Node constructor (level "<<GetLevel()<<")"
+         GimmickDebugMessage(6,"Default Node constructor (level "<<GetLevel()<<")"
                         << std::endl);
          // Insert into parent's children list
          parent->GetChildrenList().push_back(this);
@@ -25,7 +25,7 @@ namespace creaImageIO
        }
       else
        {
-         GimmickMessage(5,"Default Node constructor without parent"    
+         GimmickDebugMessage(6,"Default Node constructor without parent"       
                         << std::endl);
        }
     }
@@ -38,7 +38,7 @@ namespace creaImageIO
        mData(0),
        mChildrenLoaded(false)
     {
-      GimmickMessage(5,"Node constructor (level "<<GetLevel()<<")"
+      GimmickDebugMessage(6,"Node constructor (level "<<GetLevel()<<")"
                     << std::endl);
      if (parent) 
        {
@@ -56,7 +56,7 @@ namespace creaImageIO
                {
                  v = i->second;
                }
-             GimmickMessage(5,"Setting attribute '"<<a->GetName()<<"' = '"
+             GimmickDebugMessage(6,"Setting attribute '"<<a->GetName()<<"' = '"
                             <<v<<"'"<<std::endl);
              UnsafeSetAttribute( a->GetKey(), v );
            }
@@ -69,7 +69,7 @@ namespace creaImageIO
     //=============================================================
     Node::~Node()
     {
-      GimmickMessage(5,"Node destructor"
+      GimmickDebugMessage(6,"Node destructor"
                     << std::endl);
       ChildrenListType::iterator i;
       for (i=GetChildrenList().begin(); i!=GetChildrenList().end(); i++)
@@ -106,6 +106,27 @@ namespace creaImageIO
     { 
       return GetTree()->GetLevelDescriptor(GetLevel()); 
     }
+
+       //=============================================================
+
+    //=============================================================
+    /// Returns the attribute descriptor of the passed parameter
+       const AttributeDescriptor& Node::GetAttributeDescriptor(const std::string& k)const
+       {
+               LevelDescriptor::AttributeDescriptorListType::const_iterator a;
+      for (a = GetTree()->GetAttributeDescriptorList(GetLevel()).begin();
+          a!= GetTree()->GetAttributeDescriptorList(GetLevel()).end();
+          ++a)
+               {
+               
+                       if(a->GetKey()==k)
+                       {
+                               return *a;
+                       }
+               
+               }
+               return *a;
+       }
     //=============================================================
 
     //=============================================================
@@ -156,7 +177,7 @@ namespace creaImageIO
     //=============================================================
     bool Node::Matches(  const AttributeMapType& m ) const
     {
-      GimmickMessage(2,"'"<<GetLabel()<<"' matching..."<<std::endl);
+      GimmickDebugMessage(2,"'"<<GetLabel()<<"' matching..."<<std::endl);
       const std::vector<std::string>& id 
        = GetLevelDescriptor().GetIdentifierList();
       std::vector<std::string>::const_iterator i;
@@ -164,10 +185,10 @@ namespace creaImageIO
        {
          if (mAttributeMap.find(*i)->second != m.find(*i)->second ) 
            {
-             GimmickMessage(2,"IDENTIFIER '"<<*i<<"' values do not match"<<std::endl);
+             GimmickDebugMessage(2,"IDENTIFIER '"<<*i<<"' values do not match"<<std::endl);
              return false;
            }
-         GimmickMessage(2,"IDENTIFIER '"<<*i<<"' values match"<<std::endl);
+         GimmickDebugMessage(2,"IDENTIFIER '"<<*i<<"' values match"<<std::endl);
        }
       return true;
     }
@@ -180,10 +201,10 @@ namespace creaImageIO
       for (int i = 0; i<GetLevel(); ++i) mess += "  ";
       mess += "|_ " + GetLabel();
       GimmickMessage(1,mess<<std::endl);
-      ChildrenListType::const_iterator i;
-      for (i=GetChildrenList().begin(); i!=GetChildrenList().end(); i++)
+      ChildrenListType::const_iterator j;
+      for (j=GetChildrenList().begin(); j!=GetChildrenList().end(); j++)
        {
-         (*i)->Print();
+         (*j)->Print();
        } 
     }
     //=============================================================
@@ -198,7 +219,7 @@ namespace creaImageIO
       std::vector<std::string>::const_iterator i;
       for (i = label.begin(); i != label.end(); )
        {
-         GimmickMessage(3,"LABEL '"<<*i<<"'"<<std::endl);
+         GimmickDebugMessage(9,"LABEL '"<<*i<<"'"<<std::endl);
          AttributeMapType::const_iterator j = mAttributeMap.find(*i);
          if (j != mAttributeMap.end())
            {