]> Creatis software - gdcm.git/blob - src/gdcmDicomDirElement.h
Zilch.
[gdcm.git] / src / gdcmDicomDirElement.h
1 // gdcmDicomDirElement.h
2 //-----------------------------------------------------------------------------
3 #ifndef GDCMDICOMDIRELEMENT_H
4 #define GDCMDICOMDIRELEMENT_H
5
6 #include "gdcmCommon.h"
7
8 #include <list>
9
10 //-----------------------------------------------------------------------------
11 typedef struct
12 {
13    /// DicomGroup number
14         unsigned short int group;
15    /// DicomElement number
16         unsigned short int elem;
17    /// value (coded as a std::string) of the Element    
18         std::string value;
19 } gdcmElement;
20
21 typedef std::list<gdcmElement> ListDicomDirMetaElem;
22 typedef std::list<gdcmElement> ListDicomDirPatientElem;
23 typedef std::list<gdcmElement> ListDicomDirStudyElem;
24 typedef std::list<gdcmElement> ListDicomDirSerieElem;
25 typedef std::list<gdcmElement> ListDicomDirImageElem;
26
27 //-----------------------------------------------------------------------------
28 /*
29  * \defgroup gdcmDicomDirElement
30  * \brief    gdcmDicomDirElement represents elements contained in a dicom dir
31  *
32  */
33 class GDCM_EXPORT gdcmDicomDirElement
34 {
35 public:
36    gdcmDicomDirElement(void);
37    ~gdcmDicomDirElement(void);
38
39   /**
40     * \ingroup gdcmParser
41     * \brief   canonical Printer 
42     * \sa    SetPrintLevel
43   */ 
44    void Print(std::ostream &os);
45 /**
46  * \ingroup gdcmDicomDirElement
47  * \brief   returns a reference to the chained List 
48  *          related to the META Elements of a DICOMDIR.
49  */
50    ListDicomDirMetaElem    &GetDicomDirMetaElements(void)    
51       {return(DicomDirMetaList);};
52 /**
53  * \ingroup gdcmDicomDirElement
54  * \brief   returns a reference to the chained List 
55  *          related to the PATIENT Elements of a DICOMDIR.
56  */      
57    ListDicomDirPatientElem &GetDicomDirPatientElements(void) 
58       {return(DicomDirPatientList);};
59 /**
60  * \ingroup gdcmDicomDirElement
61  * \brief   returns a reference to the chained List 
62  *          related to the STUDY Elements of a DICOMDIR.
63  */      
64    ListDicomDirStudyElem   &GetDicomDirStudyElements(void)   
65       {return(DicomDirStudyList);};
66 /**
67  * \ingroup gdcmDicomDirElement
68  * \brief   returns a reference to the chained List 
69  *          related to the SERIE Elements of a DICOMDIR.
70  */
71    ListDicomDirSerieElem   &GetDicomDirSerieElements(void)   
72       {return(DicomDirSerieList);};
73 /**
74  * \ingroup gdcmDicomDirElement
75  * \brief   returns a reference to the chained List 
76  *          related to the IMAGE Elements of a DICOMDIR.
77  */
78    ListDicomDirImageElem   &GetDicomDirImageElements(void)   
79       {return(DicomDirImageList);};
80
81 private:
82    /// gdcmElements chained list, related to the MetaElements of DICOMDIR
83    ListDicomDirMetaElem    DicomDirMetaList;
84    /// gdcmElements chained list, related to the PatientElements of DICOMDIR
85    ListDicomDirPatientElem DicomDirPatientList;
86    /// gdcmElements chained list, related to the StudyElements of DICOMDIR
87    ListDicomDirStudyElem   DicomDirStudyList;
88    /// gdcmElements chained list, related to the SerieElements of DICOMDIR
89    ListDicomDirSerieElem   DicomDirSerieList;
90    /// gdcmElements chained list, related to the ImageElements of DICOMDIR
91    
92    ListDicomDirImageElem   DicomDirImageList;
93 };
94
95 //-----------------------------------------------------------------------------
96 #endif