creaImageIOTreeLevelDescriptor.cpp

Go to the documentation of this file.
00001 #include <creaImageIOTreeLevelDescriptor.h>
00002 #include <creaImageIOSystem.h>
00003 
00004 
00005 namespace creaImageIO
00006 {
00007   namespace tree
00008   {
00010     void LevelDescriptor::Add(const AttributeDescriptor& a)
00011     {
00012       GimmickMessage(5,"Adding Attribute Descriptor '"<<a.GetKey()
00013                      <<"' to LevelDescriptor"
00014                      <<std::endl);
00015       mAttributeDescriptorList.push_back(a);
00016       if ( a.GetFlags() & AttributeDescriptor::IDENTIFIER )
00017         {
00018           GimmickMessage(6,"Is an IDENTIFIER"<<std::endl);
00019           mIdentifierList.push_back(a.GetKey());
00020         }
00021       if ( a.GetFlags() & AttributeDescriptor::LABEL )
00022         {
00023           GimmickMessage(6,"Is a LABEL"<<std::endl);
00024           mLabelList.push_back(a.GetKey());
00025         }
00026     }
00027 
00028         // Copy the descriptor List without ID and PATIENT_ID attributes
00029         void LevelDescriptor::CopyAttributeDescriptorList() 
00030       { 
00031                   mAttributeDescriptorListWID = mAttributeDescriptorList; 
00032                   for(AttributeDescriptorListType::iterator it = mAttributeDescriptorListWID.begin();
00033                           it != mAttributeDescriptorListWID.end(); it++)
00034                   {
00035                           if((*it).GetKey() == "ID")
00036                           {
00037                                         mAttributeDescriptorListWID.erase(it);
00038                                         break;
00039                           }
00040                   }
00041 
00042                   for(AttributeDescriptorListType::iterator it = mAttributeDescriptorListWID.begin();
00043                           it != mAttributeDescriptorListWID.end(); it++)
00044                   {
00045                           if((*it).GetKey() == "PARENT_ID")
00046                           {
00047                                         mAttributeDescriptorListWID.erase(it);
00048                                         break;
00049                           }
00050                   }
00051          }
00052 
00053   }
00054 }
00055