]> Creatis software - gdcm.git/blob - src/gdcmDicomDirSerie.cxx
JPR
[gdcm.git] / src / gdcmDicomDirSerie.cxx
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: gdcmDicomDirSerie.cxx,v $
5   Language:  C++
6   Date:      $Date: 2004/07/21 14:02:10 $
7   Version:   $Revision: 1.11 $
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.htm 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 "gdcmDicomDirSerie.h"
20 #include "gdcmDicomDirElement.h"
21 #include "gdcmGlobal.h"
22
23 //-----------------------------------------------------------------------------
24 // Constructor / Destructor
25 /**
26  * \brief  Constructor 
27  * @param  s  SQ Item holding the elements related to this "SERIE" part
28  * @param ptagHT pointer to the HTable (gdcmObject needs it 
29  *               to build the gdcmDocEntries)
30  */
31 gdcmDicomDirSerie::gdcmDicomDirSerie(gdcmSQItem *s, TagDocEntryHT *ptagHT):
32    gdcmObject(ptagHT)
33 {
34    docEntries = s->GetDocEntries();
35 }
36
37 /**
38  * \brief  Constructor 
39  * @param ptagHT pointer to the HTable (gdcmObject needs it 
40  *               to build the gdcmDocEntries)
41  */
42 gdcmDicomDirSerie::gdcmDicomDirSerie(TagDocEntryHT *ptagHT):
43    gdcmObject(ptagHT)
44 {
45 }
46 /**
47  * \brief   Canonical destructor.
48  */
49 gdcmDicomDirSerie::~gdcmDicomDirSerie() 
50 {
51    for(ListDicomDirImage::iterator cc = images.begin();cc != images.end();++cc)
52    {
53       delete *cc;
54    }
55 }
56
57 //-----------------------------------------------------------------------------
58 // Print
59 /**
60  * \brief   Prints the Object
61  * @return
62  */ 
63 void gdcmDicomDirSerie::Print(std::ostream &os)
64 {
65    os<<"SERIE"<<std::endl;
66    gdcmObject::Print(os);
67
68    for(ListDicomDirImage::iterator cc = images.begin();cc != images.end();++cc)
69    {
70       (*cc)->SetPrintLevel(printLevel);
71       (*cc)->Print(os);
72    }
73 }
74
75 //-----------------------------------------------------------------------------
76 // Public
77 /**
78  * \brief   adds a new Image (with the basic elements) to a partially created DICOMDIR
79  */
80 gdcmDicomDirImage * gdcmDicomDirSerie::NewImage(void) {
81    std::list<gdcmElement> elemList;   
82    elemList=gdcmGlobal::GetDicomDirElements()->GetDicomDirImageElements();
83       
84    gdcmDicomDirImage *st = new gdcmDicomDirImage(ptagHT);
85    FillObject(elemList);
86    images.push_front(st);
87    return st;   
88
89 //-----------------------------------------------------------------------------
90 // Protected
91
92 //-----------------------------------------------------------------------------
93 // Private
94
95 //-----------------------------------------------------------------------------