gdcmDicomDirPatient.h

Go to the documentation of this file.
00001 /*=========================================================================
00002                                                                                 
00003   Program:   gdcm
00004   Module:    $RCSfile: gdcmDicomDirPatient.h,v $
00005   Language:  C++
00006   Date:      $Date: 2007/08/22 16:14:03 $
00007   Version:   $Revision: 1.34 $
00008                                                                                 
00009   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
00010   l'Image). All rights reserved. See Doc/License.txt or
00011   http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
00012                                                                                 
00013      This software is distributed WITHOUT ANY WARRANTY; without even
00014      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00015      PURPOSE.  See the above copyright notices for more information.
00016                                                                                 
00017 =========================================================================*/
00018 
00019 #ifndef _GDCMPATIENT_H_
00020 #define _GDCMPATIENT_H_
00021 
00022 #include "gdcmDicomDirObject.h"
00023 
00024 namespace GDCM_NAME_SPACE 
00025 {
00026 class DicomDirStudy;
00027 
00028 //-----------------------------------------------------------------------------
00029 typedef std::list<DicomDirStudy*> ListDicomDirStudy;
00030 
00031 //-----------------------------------------------------------------------------
00036 class GDCM_EXPORT DicomDirPatient : public DicomDirObject 
00037 {
00038    gdcmTypeMacro(DicomDirPatient);
00039 
00040 public:
00042    static DicomDirPatient *New(bool empty=false) {return new DicomDirPatient(empty);}
00043 
00044    void Print(std::ostream &os = std::cout, std::string const &indent = "" );
00045    void WriteContent(std::ofstream *fp, FileType t, bool insideMetaElements);
00046   
00047    // Patient methods
00049    void AddStudy(DicomDirStudy *obj) { Studies.push_back(obj); }
00050    DicomDirStudy *NewStudy(); 
00051    void ClearStudy();
00052 
00053    DicomDirStudy *GetFirstStudy();
00054    DicomDirStudy *GetNextStudy();
00055    DicomDirStudy *GetLastStudy();
00057    int            GetNumberOfStudies() { return Studies.size();}
00058    virtual void Copy(DocEntrySet *set);
00059 
00060 protected:
00061    DicomDirPatient(bool empty=false); 
00062    ~DicomDirPatient();
00063 
00064 private:
00066    ListDicomDirStudy Studies;
00068    ListDicomDirStudy::iterator ItStudy;
00069 };
00070 } // end namespace gdcm
00071 
00072 //-----------------------------------------------------------------------------
00073 #endif

Generated on Fri Aug 24 12:59:29 2007 for gdcm by  doxygen 1.4.6