X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirElement.h;h=e3e0983ed5d56a017a7c168991b343329ed666b4;hb=4073467af614547a6cdd2b5d09d481fbea1a1f0c;hp=4540ce16d26abec5aae39ac882d0231345a16f78;hpb=d5ebba38c596bd5a0514fc9e08fe8ac2a45482f5;p=gdcm.git diff --git a/src/gdcmDicomDirElement.h b/src/gdcmDicomDirElement.h index 4540ce16..e3e0983e 100644 --- a/src/gdcmDicomDirElement.h +++ b/src/gdcmDicomDirElement.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDirElement.h,v $ Language: C++ - Date: $Date: 2005/02/11 15:22:18 $ - Version: $Revision: 1.28 $ + Date: $Date: 2005/10/26 08:04:15 $ + Version: $Revision: 1.34 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,7 +19,7 @@ #ifndef GDCMDICOMDIRELEMENT_H #define GDCMDICOMDIRELEMENT_H -#include "gdcmCommon.h" +#include "gdcmRefCounter.h" #include @@ -28,35 +28,36 @@ 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; +typedef std::list ListDicomDirElem; +typedef std::list ListDicomDirMetaElem; +typedef std::list ListDicomDirPatientElem; +typedef std::list ListDicomDirStudyElem; +typedef std::list ListDicomDirVisitElem; +typedef std::list ListDicomDirSerieElem; +typedef std::list ListDicomDirImageElem; // For future use (Full DICOMDIR) + /* -typedef std::list ListDicomDirVisit; -typedef std::list ListDicomDirResult; -typedef std::list ListDicomDirStudyComponent; - -typedef std::list ListDicomDirOverlay; -typedef std::list ListDicomDirModalityLut; -typedef std::list ListDicomDirModalityLut; -typedef std::list ListDicomDirCurve; -typedef std::list ListDicomDirStoredPrint; -typedef std::list ListDicomDirRtDose; -typedef std::list ListDicomDirRtStructureSet; -typedef std::list ListDicomDirRtPlan; -typedef std::list ListDicomDirRtTreatRecord; -typedef std::list ListDicomDirPresentation; -typedef std::list ListDicomDirSrDocument; -typedef std::list ListDicomDirKeyObjectDoc; -typedef std::list ListDicomDirSpectroscopy; -typedef std::list ListDicomDirRawData; -typedef std::list ListDicomDirRegistration; -typedef std::list ListDicomDirFiducial; +typedef std::list ListDicomDirResultElem; +typedef std::list ListDicomDirStudyComponentElem; + +typedef std::list ListDicomDirOverlayElem; +typedef std::list ListDicomDirModalityLutElem; +typedef std::list ListDicomDirModalityLutElem; +typedef std::list ListDicomDirCurveElem; +typedef std::list ListDicomDirStoredPrintElem; +typedef std::list ListDicomDirRtDoseElem; +typedef std::list ListDicomDirRtStructureSetElem; +typedef std::list ListDicomDirRtPlanElem; +typedef std::list ListDicomDirRtTreatRecordElem; +typedef std::list ListDicomDirPresentationElem; +typedef std::list ListDicomDirSrDocumentElem; +typedef std::list ListDicomDirKeyObjectDocElem; +typedef std::list ListDicomDirSpectroscopyElem; +typedef std::list ListDicomDirRawDataElem; +typedef std::list ListDicomDirRegistrationElem; +typedef std::list ListDicomDirFiducialElem; */ //----------------------------------------------------------------------------- @@ -64,59 +65,71 @@ typedef std::list ListDicomDirFiducial; * \brief Represents elements contained in a DicomDir class * for the chained lists from the file 'Dicts/DicomDir.dic' */ -class GDCM_EXPORT DicomDirElement +class GDCM_EXPORT DicomDirElement : public RefCounter { + gdcmTypeMacro(DicomDirElement); + public: - DicomDirElement(); - ~DicomDirElement(); + static DicomDirElement *New() {return new DicomDirElement();} - /** + /** * \brief canonical Printer */ - void Print(std::ostream &os); + virtual void Print(std::ostream &os = std::cout, + std::string const &indent = "" ); /** * \brief returns a reference to the chained List * related to the META Elements of a DICOMDIR. */ ListDicomDirMetaElem const &GetDicomDirMetaElements() const - { return DicomDirMetaList; }; + { return DicomDirMetaList; } /** * \brief returns a reference to the chained List * related to the PATIENT Elements of a DICOMDIR. */ ListDicomDirPatientElem const &GetDicomDirPatientElements() const - { return DicomDirPatientList; }; + { return DicomDirPatientList; } /** * \brief returns a reference to the chained List * related to the STUDY Elements of a DICOMDIR. */ ListDicomDirStudyElem const &GetDicomDirStudyElements() const - { return DicomDirStudyList; }; + { return DicomDirStudyList; } + /** + * \brief returns a reference to the chained List + * related to the VISIT Elements of a DICOMDIR. + */ + ListDicomDirVisitElem const &GetDicomDirVisitElements() const + { return DicomDirVisitList; } /** * \brief returns a reference to the chained List * related to the SERIE Elements of a DICOMDIR. */ ListDicomDirSerieElem const &GetDicomDirSerieElements() const - { return DicomDirSerieList; }; + { return DicomDirSerieList; } /** * \brief returns a reference to the chained List * related to the IMAGE Elements of a DICOMDIR. */ ListDicomDirImageElem const &GetDicomDirImageElements() const - { return DicomDirImageList; }; + { return DicomDirImageList; } // Public method to add an element - bool AddEntry(DicomDirType type, Element const &elem); + bool AddEntry(DicomDirType type, DicomElement const &elem); // Only one instance of ddElem void AddDicomDirElement(DicomDirType type, uint16_t group, uint16_t elem); +protected: + DicomDirElement(); + ~DicomDirElement(); + private: /// Elements chained list, related to the MetaElements of DICOMDIR ListDicomDirMetaElem DicomDirMetaList; @@ -124,6 +137,8 @@ private: ListDicomDirPatientElem DicomDirPatientList; /// Elements chained list, related to the StudyElements of DICOMDIR ListDicomDirStudyElem DicomDirStudyList; + /// Elements chained list, related to the VisitElements of DICOMDIR + ListDicomDirVisitElem DicomDirVisitList; /// Elements chained list, related to the SerieElements of DICOMDIR ListDicomDirSerieElem DicomDirSerieList; /// Elements chained list, related to the ImageElements of DICOMDIR