X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirStudy.h;h=4b4d12e6f9a1a993ce2eb7617ec2b8c9a912fc3e;hb=ad726bd2a9d563ca4f55b56ed9aa86070368a995;hp=936a7f7cc8bdbdd034d1ebd14762134b79df94ea;hpb=a45b09d6e37f0d0c31f62f8ef01b78d3204de51e;p=gdcm.git diff --git a/src/gdcmDicomDirStudy.h b/src/gdcmDicomDirStudy.h index 936a7f7c..4b4d12e6 100644 --- a/src/gdcmDicomDirStudy.h +++ b/src/gdcmDicomDirStudy.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDirStudy.h,v $ Language: C++ - Date: $Date: 2005/02/07 14:48:34 $ - Version: $Revision: 1.26 $ + Date: $Date: 2007/08/29 15:30:49 $ + Version: $Revision: 1.37 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -16,23 +16,24 @@ =========================================================================*/ -#ifndef GDCMDICOMDIRSTUDY_H -#define GDCMDICOMDIRSTUDY_H +#ifndef _GDCMDICOMDIRSTUDY_H_ +#define _GDCMDICOMDIRSTUDY_H_ #include "gdcmDicomDirObject.h" -namespace gdcm +namespace GDCM_NAME_SPACE { class DicomDirSerie; +class DicomDirVisit; //----------------------------------------------------------------------------- typedef std::list ListDicomDirSerie; -/* + // For future use (Full DICOMDIR) typedef std::list ListDicomDirVisit; +/* typedef std::list ListDicomDirResult; typedef std::list ListDicomDirStudyComponent; - */ //----------------------------------------------------------------------------- /** @@ -41,52 +42,68 @@ typedef std::list ListDicomDirStudyComponent; */ class GDCM_EXPORT DicomDirStudy : public DicomDirObject { + gdcmTypeMacro(DicomDirStudy); + public: - DicomDirStudy(bool empty=false); - ~DicomDirStudy(); +/// \brief Constructs a DicomDirStudy with a RefCounter + static DicomDirStudy *New(bool empty=false) {return new DicomDirStudy(empty);} void Print(std::ostream &os = std::cout, std::string const &indent = "" ); - void WriteContent(std::ofstream *fp, FileType t); + void WriteContent(std::ofstream *fp, FileType t, bool insideMetaElements,bool insideSequence ); - // Serie methods + // 'Serie' methods DicomDirSerie *NewSerie(); - /// Adds a gdcm::DicomDirSerie to a Study - void AddSerie(DicomDirSerie *obj) { Series.push_back(obj); }; + /// Adds a gdcm::DicomDirSerie to a gdcm::DicomDirStudy + void AddSerie(DicomDirSerie *obj) { Series.push_back(obj); } void ClearSerie(); - DicomDirSerie *GetFirstSerie(); DicomDirSerie *GetNextSerie(); DicomDirSerie *GetLastSerie(); - -/* - // for future use (Full DICOMDIR) - + /// returns the number of Series currently held in the gdcm::DicomDirStudy + int GetNumberOfSeries() { return Series.size();} + + // 'Visit' methods + DicomDirVisit *NewVisit(); + /// Adds a gdcm::DicomDirVisit to a gdcm::DicomDirStudy + void AddVisit(DicomDirVisit *obj) { Visits.push_back(obj); } + void ClearVisit(); DicomDirVisit *GetFirstVisit(); DicomDirVisit *GetNextVisit(); - + DicomDirVisit *GetLastVisit(); + /// returns the number of Visit currently held in the gdcm::DicomDirStudy + int GetNumberOfVisits() { return Visits.size();} + + // for future use (Full DICOMDIR) +/* DicomDirResult *GetFirstResult(); DicomDirResult *GetNextResult(); + DicomDirResult *GetLastResult(); DicomDirStudyComponent *GetFirstStudyComponent(); DicomDirStudyComponent *GetNextStudyComponent(); + DicomDirStudyComponent *GetLastStudyComponent(); +*/ -*/ - -private: + virtual void Copy(DocEntrySet *set); + +protected: + DicomDirStudy(bool empty=false); + ~DicomDirStudy(); +private: /// chained list of DicomDirSeries (to be exploited hierarchicaly) ListDicomDirSerie Series; /// iterator on the DicomDirSeries of the current DicomDirStudy ListDicomDirSerie::iterator ItSerie; -/* - // for future use (Full DICOMDIR) - /// chained list of DicomDirVisits(single level) ListDicomDirVisit Visits; /// iterator on the DicomDirVisits of the current DicomDirStudy ListDicomDirVisit::iterator ItVisit; + + // for future use (Full DICOMDIR) +/* /// chained list of DicomDirResults(single level) ListDicomDirResult Results; /// iterator on the DicomDirResults of the current DicomDirStudy