X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirStudy.h;h=0e38bf5c6711d6be75597a3f13c7cd2ec2c59fc2;hb=4976cfdaa3bb61e01e7ad0a2382d7e9622918acd;hp=91e798c244fae2ad1f887eff4f6bc8da26ece997;hpb=1d69b92978803204089d270599133917d944c651;p=gdcm.git diff --git a/src/gdcmDicomDirStudy.h b/src/gdcmDicomDirStudy.h index 91e798c2..0e38bf5c 100644 --- a/src/gdcmDicomDirStudy.h +++ b/src/gdcmDicomDirStudy.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDirStudy.h,v $ Language: C++ - Date: $Date: 2004/10/12 04:35:45 $ - Version: $Revision: 1.10 $ + Date: $Date: 2005/01/25 11:11:58 $ + Version: $Revision: 1.22 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -20,46 +20,45 @@ #define GDCMDICOMDIRSTUDY_H #include "gdcmDicomDirObject.h" -#include "gdcmDicomDirSerie.h" + namespace gdcm { - +class DicomDirSerie; //----------------------------------------------------------------------------- typedef std::list ListDicomDirSerie; //----------------------------------------------------------------------------- +/** + * \brief describes a STUDY within a within a PATIENT + * (DicomDirPatient) of a given DICOMDIR (DicomDir) + */ class GDCM_EXPORT DicomDirStudy : public DicomDirObject { public: - DicomDirStudy(SQItem *s, TagDocEntryHT *ptagHT); - DicomDirStudy(TagDocEntryHT *ptagHT); - + DicomDirStudy(bool empty=false); ~DicomDirStudy(); - virtual void Print(std::ostream &os = std::cout); - virtual void Write(FILE *fp, FileType t); -/** - * \ingroup DicomDirStudy - * \brief returns the SERIE chained List for this STUDY. - */ - ListDicomDirSerie &GetDicomDirSeries() { return series; }; -/** - * \ingroup DicomDirStudy - * \brief adds the passed SERIE to the SERIE chained List for this STUDY. - */ - void AddDicomDirSerie(DicomDirSerie *obj) { series.push_back(obj); }; + void Print(std::ostream &os = std::cout, std::string const & indent = "" ); + void WriteContent(std::ofstream *fp, FileType t); -/** - * \ingroup DicomDirStudy - * \brief TODO - */ + // should avoid exposing internal mechanism + DicomDirSerie *GetFirstSerie(); + DicomDirSerie *GetNextSerie(); + DicomDirSerie *GetLastSerie(); + + /// adds the passed SERIE to the SERIE chained List for this STUDY. + void AddSerie(DicomDirSerie *obj) { Series.push_back(obj); }; DicomDirSerie* NewSerie(); + + void ClearSerie(); 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 ItSerie; + }; } // end namespace gdcm