1 /*=========================================================================
4 Module: $RCSfile: gdcmDicomDirObject.cxx,v $
6 Date: $Date: 2005/01/06 20:03:27 $
7 Version: $Revision: 1.14 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
19 #include "gdcmDicomDirObject.h"
20 #include "gdcmGlobal.h"
21 #include "gdcmDebug.h"
22 #include "gdcmValEntry.h"
23 #include "gdcmDictSet.h"
28 //-----------------------------------------------------------------------------
32 * @param depth Sequence depth level
35 DicomDirObject::DicomDirObject(int depth)
42 * \brief Canonical destructor.
44 DicomDirObject::~DicomDirObject()
49 //-----------------------------------------------------------------------------
54 * \brief Builds a hash table (multimap) containing
55 * pointers to all Header Entries (i.e Dicom Element)
56 * related to this 'object'
59 TagDocEntryHT DicomDirObject::GetEntry()
62 DocEntries = GetDocEntries();
63 for(ListDocEntry::iterator i = DocEntries.begin();
64 i != DocEntries.end(); ++i)
66 HT[(*i)->GetKey()] = *i;
71 //-----------------------------------------------------------------------------
74 * \brief add the 'Object' related Dicom Elements to the listEntries
75 * of a partially created DICOMDIR
76 * @param elemList Element List to add at the right place
78 void DicomDirObject::FillObject(ListDicomDirMetaElem const &elemList)
80 // FillObject rempli le SQItem qui sera accroche au bon endroit
82 ListDicomDirMetaElem::const_iterator it;
87 // for all the Elements found in they own part of the DicomDir dict.
88 for(it = elemList.begin(); it != elemList.end(); ++it)
92 dictEntry = Global::GetDicts()->GetDefaultPubDict()->GetDictEntryByNumber(tmpGr,tmpEl);
93 entry = new ValEntry(dictEntry);
94 entry->SetOffset(0); // just to avoid further missprinting
95 entry->SetValue(it->Value);
100 } // end namespace gdcm