00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GDCMPATIENT_H
00020 #define GDCMPATIENT_H
00021
00022 #include "gdcmDicomDirObject.h"
00023
00024 namespace gdcm
00025 {
00026 class DicomDirStudy;
00027
00028
00029 typedef std::list<DicomDirStudy*> ListDicomDirStudy;
00030
00031
00036 class GDCM_EXPORT DicomDirPatient : public DicomDirObject
00037 {
00038 public:
00039 DicomDirPatient(bool empty=false);
00040 ~DicomDirPatient();
00041
00042 void Print(std::ostream &os = std::cout, std::string const &indent = "" );
00043 void WriteContent(std::ofstream *fp, FileType t);
00044
00045
00047 void AddStudy(DicomDirStudy *obj) { Studies.push_back(obj); };
00048 DicomDirStudy *NewStudy();
00049 void ClearStudy();
00050
00051 DicomDirStudy *GetFirstStudy();
00052 DicomDirStudy *GetNextStudy();
00053 DicomDirStudy *GetLastStudy();
00054
00055 private:
00056
00058 ListDicomDirStudy Studies;
00060 ListDicomDirStudy::iterator ItStudy;
00061 };
00062 }
00063
00064
00065 #endif