X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirStudy.h;h=1a33f86f0b9737091d52f99fb54b6fe1f7841b82;hb=963480c814326423065a4a02fa1bf8bc1243ae4f;hp=26c7834f0c78c0b045b49fb9cc4373fca86a58f4;hpb=2012716d624d631dcdb825fdd4470908e115a717;p=gdcm.git diff --git a/src/gdcmDicomDirStudy.h b/src/gdcmDicomDirStudy.h index 26c7834f..1a33f86f 100644 --- a/src/gdcmDicomDirStudy.h +++ b/src/gdcmDicomDirStudy.h @@ -3,12 +3,12 @@ Program: gdcm Module: $RCSfile: gdcmDicomDirStudy.h,v $ Language: C++ - Date: $Date: 2004/06/20 18:08:47 $ - Version: $Revision: 1.4 $ + Date: $Date: 2005/01/18 07:53:42 $ + Version: $Revision: 1.19 $ 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.htm for details. + 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 @@ -19,46 +19,49 @@ #ifndef GDCMDICOMDIRSTUDY_H #define GDCMDICOMDIRSTUDY_H -#include "gdcmObject.h" -#include "gdcmDicomDirSerie.h" +#include "gdcmDicomDirObject.h" +namespace gdcm +{ +class DicomDirSerie; //----------------------------------------------------------------------------- -typedef std::list ListDicomDirSerie; +typedef std::list ListDicomDirSerie; //----------------------------------------------------------------------------- -class GDCM_EXPORT gdcmDicomDirStudy : public gdcmObject { +/** + * \brief describes a STUDY within a within a PATIENT + * (DicomDirPatient) of a given DICOMDIR (DicomDir) + */ +class GDCM_EXPORT DicomDirStudy : public DicomDirObject +{ public: - gdcmDicomDirStudy(gdcmSQItem *s, TagDocEntryHT *ptagHT); - gdcmDicomDirStudy(TagDocEntryHT *ptagHT); + DicomDirStudy(); + ~DicomDirStudy(); - ~gdcmDicomDirStudy(void); + void Print(std::ostream &os = std::cout, std::string const & indent = "" ); + void WriteContent(std::ofstream *fp, FileType t); - virtual void Print(std::ostream &os = std::cout); -/** - * \ingroup gdcmDicomDirStudy - * \brief returns the SERIE chained List for this STUDY. - */ - inline ListDicomDirSerie &GetDicomDirSeries() - {return series;}; -/** - * \ingroup gdcmDicomDirStudy - * \brief adds the passed SERIE to the SERIE chained List for this STUDY. - */ - inline void AddDicomDirSerie(gdcmDicomDirSerie *obj) - {series.push_back(obj);}; + /// Returns the SERIE chained List for this STUDY. + ListDicomDirSerie const &GetDicomDirSeries() const { return Series; }; -/** - * \ingroup gdcmDicomDirStudy - * \brief TODO - */ - gdcmDicomDirSerie* NewSerie(void); + // should avoid exposing internal mechanism + DicomDirSerie *GetFirstEntry(); + DicomDirSerie *GetNextEntry(); + + /// adds the passed SERIE to the SERIE chained List for this STUDY. + void AddDicomDirSerie(DicomDirSerie *obj) { Series.push_back(obj); }; + + DicomDirSerie* NewSerie(); private: -/** -* \brief chained list of DicomDirSeries (to be exploited recursively) -*/ - ListDicomDirSerie series; + + /// chained list of DicomDirSeries (to be exploited recursively) + ListDicomDirSerie Series; + /// iterator on the DicomDirSeries of the current DicomDirStudy + ListDicomDirSerie::iterator ItDicomDirSerie; + }; +} // end namespace gdcm //----------------------------------------------------------------------------- #endif