]> Creatis software - gdcm.git/blob - src/gdcmDicomDirStudy.h
Allow to create ex nihilo DICOMDIR
[gdcm.git] / src / gdcmDicomDirStudy.h
1 // gdcmDicomDirStudy.h
2 //-----------------------------------------------------------------------------
3 #ifndef GDCMDICOMDIRSTUDY_H
4 #define GDCMDICOMDIRSTUDY_H
5
6 #include "gdcmObject.h"
7 #include "gdcmDicomDirSerie.h"
8
9 //-----------------------------------------------------------------------------
10 typedef std::list<gdcmDicomDirSerie *> ListDicomDirSerie;
11
12 //-----------------------------------------------------------------------------
13 class GDCM_EXPORT gdcmDicomDirStudy : public gdcmObject {
14 public:
15    gdcmDicomDirStudy(ListTag::iterator begin,ListTag::iterator end,
16               TagHeaderEntryHT *ptagHT, ListTag *plistEntries); 
17
18    ~gdcmDicomDirStudy(void);
19
20    virtual void Print(std::ostream &os = std::cout);
21 /**
22  * \ingroup gdcmDicomDirStudy
23  * \brief   returns the SERIE chained List for this STUDY.
24  */
25    inline ListDicomDirSerie &GetDicomDirSeries() 
26       {return series;};
27 /**
28  * \ingroup gdcmDicomDirStudy
29  * \brief   adds the passed SERIE to the SERIE chained List for this STUDY.
30  */ 
31     inline void AddDicomDirSerie(gdcmDicomDirSerie *obj) 
32        {series.push_back(obj);};
33
34 /**
35  * \ingroup gdcmDicomDirStudy
36  * \brief   TODO
37  */ 
38    gdcmDicomDirSerie* NewSerie(void);
39     
40 private:
41 /**
42 * \brief chained list of DicomDirSeries (to be exploited recursively)
43 */ 
44    ListDicomDirSerie series;
45 };
46
47 //-----------------------------------------------------------------------------
48 #endif