]> Creatis software - gdcm.git/blob - src/gdcmDicomDirObject.cxx
c4501ffc2a27222d0321446ca24317c4953cc7f8
[gdcm.git] / src / gdcmDicomDirObject.cxx
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: gdcmDicomDirObject.cxx,v $
5   Language:  C++
6   Date:      $Date: 2005/01/20 11:09:23 $
7   Version:   $Revision: 1.16 $
8                                                                                 
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.
12                                                                                 
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.
16                                                                                 
17 =========================================================================*/
18
19 #include "gdcmDicomDirObject.h"
20 #include "gdcmGlobal.h"
21 #include "gdcmDebug.h"
22 #include "gdcmValEntry.h"
23 #include "gdcmDictSet.h"
24
25 namespace gdcm 
26 {
27
28 //-----------------------------------------------------------------------------
29 /**
30  * \brief  Constructor 
31  *          
32  * @param depth Sequence depth level
33  */
34   
35 DicomDirObject::DicomDirObject(int depth) 
36           : SQItem (depth)
37 {
38 }
39
40
41 /**
42  * \brief   Canonical destructor.
43  */
44 DicomDirObject::~DicomDirObject()
45 {
46 }
47
48
49 //-----------------------------------------------------------------------------
50 // Public
51
52 //-----------------------------------------------------------------------------
53 // Protected
54 /**
55  * \brief   add the 'Object' related Dicom Elements to the listEntries
56  *          of a partially created DICOMDIR
57  * @param elemList Element List to add at the right place
58  */
59 void DicomDirObject::FillObject(ListDicomDirMetaElem const &elemList)
60 {
61   // FillObject fills up the SQItem that will be conneected to the right place
62
63    ListDicomDirMetaElem::const_iterator it;
64    uint16_t tmpGr,tmpEl;
65    DictEntry *dictEntry;
66    ValEntry *entry;
67       
68    // for all the Elements found in they own part of the DicomDir dict.     
69    for(it = elemList.begin(); it != elemList.end(); ++it)
70    {
71       tmpGr = it->Group;
72       tmpEl = it->Elem;
73       dictEntry = Global::GetDicts()->GetDefaultPubDict()->GetDictEntry(tmpGr,tmpEl);
74       entry = new ValEntry(dictEntry);
75       entry->SetOffset(0); // just to avoid further missprinting
76       entry->SetValue(it->Value);
77
78       AddEntry(entry);
79    }   
80 }   
81 } // end namespace gdcm
82