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