00001 /*========================================================================= 00002 00003 Program: gdcm 00004 Module: $RCSfile: gdcmDicomDirElement.h,v $ 00005 Language: C++ 00006 Date: $Date: 2005/02/07 14:48:34 $ 00007 Version: $Revision: 1.27 $ 00008 00009 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de 00010 l'Image). All rights reserved. See Doc/License.txt or 00011 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. 00012 00013 This software is distributed WITHOUT ANY WARRANTY; without even 00014 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 PURPOSE. See the above copyright notices for more information. 00016 00017 =========================================================================*/ 00018 00019 #ifndef GDCMDICOMDIRELEMENT_H 00020 #define GDCMDICOMDIRELEMENT_H 00021 00022 #include "gdcmCommon.h" 00023 00024 #include <list> 00025 00026 namespace gdcm 00027 { 00028 00029 //----------------------------------------------------------------------------- 00030 00031 typedef std::list<Element> ListDicomDirElem; 00032 typedef std::list<Element> ListDicomDirMetaElem; 00033 typedef std::list<Element> ListDicomDirPatientElem; 00034 typedef std::list<Element> ListDicomDirStudyElem; 00035 typedef std::list<Element> ListDicomDirSerieElem; 00036 typedef std::list<Element> ListDicomDirImageElem; 00037 00038 //----------------------------------------------------------------------------- 00043 class GDCM_EXPORT DicomDirElement 00044 { 00045 public: 00046 DicomDirElement(); 00047 ~DicomDirElement(); 00048 00052 void Print(std::ostream &os); 00053 00058 ListDicomDirMetaElem const &GetDicomDirMetaElements() const 00059 { return DicomDirMetaList; }; 00060 00065 ListDicomDirPatientElem const &GetDicomDirPatientElements() const 00066 { return DicomDirPatientList; }; 00067 00072 ListDicomDirStudyElem const &GetDicomDirStudyElements() const 00073 { return DicomDirStudyList; }; 00074 00079 ListDicomDirSerieElem const &GetDicomDirSerieElements() const 00080 { return DicomDirSerieList; }; 00081 00086 ListDicomDirImageElem const &GetDicomDirImageElements() const 00087 { return DicomDirImageList; }; 00088 00089 // Public method to add an element 00090 bool AddEntry(DicomDirType type, Element const &elem); 00091 00092 // Only one instance of ddElem 00093 void AddDicomDirElement(DicomDirType type, 00094 uint16_t group, uint16_t elem); 00095 00096 private: 00098 ListDicomDirMetaElem DicomDirMetaList; 00100 ListDicomDirPatientElem DicomDirPatientList; 00102 ListDicomDirStudyElem DicomDirStudyList; 00104 ListDicomDirSerieElem DicomDirSerieList; 00106 ListDicomDirImageElem DicomDirImageList; 00107 }; 00108 } // end namespace gdcm 00109 //----------------------------------------------------------------------------- 00110 #endif