/*========================================================================= Program: gdcm Module: $RCSfile: gdcmDicomDirElement.h,v $ Language: C++ Date: $Date: 2005/02/07 14:48:34 $ Version: $Revision: 1.27 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef GDCMDICOMDIRELEMENT_H #define GDCMDICOMDIRELEMENT_H #include "gdcmCommon.h" #include namespace gdcm { //----------------------------------------------------------------------------- typedef std::list ListDicomDirElem; typedef std::list ListDicomDirMetaElem; typedef std::list ListDicomDirPatientElem; typedef std::list ListDicomDirStudyElem; typedef std::list ListDicomDirSerieElem; typedef std::list ListDicomDirImageElem; //----------------------------------------------------------------------------- /** * \brief Represents elements contained in a DicomDir class * for the chained lists from the file 'Dicts/DicomDir.dic' */ class GDCM_EXPORT DicomDirElement { public: DicomDirElement(); ~DicomDirElement(); /** * \brief canonical Printer */ void Print(std::ostream &os); /** * \brief returns a reference to the chained List * related to the META Elements of a DICOMDIR. */ ListDicomDirMetaElem const &GetDicomDirMetaElements() const { return DicomDirMetaList; }; /** * \brief returns a reference to the chained List * related to the PATIENT Elements of a DICOMDIR. */ ListDicomDirPatientElem const &GetDicomDirPatientElements() const { return DicomDirPatientList; }; /** * \brief returns a reference to the chained List * related to the STUDY Elements of a DICOMDIR. */ ListDicomDirStudyElem const &GetDicomDirStudyElements() const { return DicomDirStudyList; }; /** * \brief returns a reference to the chained List * related to the SERIE Elements of a DICOMDIR. */ ListDicomDirSerieElem const &GetDicomDirSerieElements() const { return DicomDirSerieList; }; /** * \brief returns a reference to the chained List * related to the IMAGE Elements of a DICOMDIR. */ ListDicomDirImageElem const &GetDicomDirImageElements() const { return DicomDirImageList; }; // Public method to add an element bool AddEntry(DicomDirType type, Element const &elem); // Only one instance of ddElem void AddDicomDirElement(DicomDirType type, uint16_t group, uint16_t elem); private: /// Elements chained list, related to the MetaElements of DICOMDIR ListDicomDirMetaElem DicomDirMetaList; /// Elements chained list, related to the PatientElements of DICOMDIR ListDicomDirPatientElem DicomDirPatientList; /// Elements chained list, related to the StudyElements of DICOMDIR ListDicomDirStudyElem DicomDirStudyList; /// Elements chained list, related to the SerieElements of DICOMDIR ListDicomDirSerieElem DicomDirSerieList; /// Elements chained list, related to the ImageElements of DICOMDIR ListDicomDirImageElem DicomDirImageList; }; } // end namespace gdcm //----------------------------------------------------------------------------- #endif