Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

gdcmDicomDirStudy.h

Go to the documentation of this file.
00001 /*=========================================================================
00002                                                                                 
00003   Program:   gdcm
00004   Module:    $RCSfile: gdcmDicomDirStudy.h,v $
00005   Language:  C++
00006   Date:      $Date: 2005/11/29 12:48:46 $
00007   Version:   $Revision: 1.32 $
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 GDCMDICOMDIRSTUDY_H
00020 #define GDCMDICOMDIRSTUDY_H
00021 
00022 #include "gdcmDicomDirObject.h"
00023 
00024 namespace gdcm 
00025 {
00026 class DicomDirSerie;
00027 class DicomDirVisit;
00028 //-----------------------------------------------------------------------------
00029 typedef std::list<DicomDirSerie *> ListDicomDirSerie;
00030 
00031 
00032 // For future use (Full DICOMDIR)
00033 typedef std::list<DicomDirVisit *> ListDicomDirVisit;
00034 /*
00035 typedef std::list<DicomDirResult *> ListDicomDirResult;
00036 typedef std::list<DicomDirStudyComponent *> ListDicomDirStudyComponent;
00037 */
00038 //-----------------------------------------------------------------------------
00043 class GDCM_EXPORT DicomDirStudy : public DicomDirObject
00044 {
00045    gdcmTypeMacro(DicomDirStudy);
00046 
00047 public:
00049    static DicomDirStudy *New(bool empty=false) {return new DicomDirStudy(empty);}
00050 
00051    void Print(std::ostream &os = std::cout, std::string const &indent = "" );
00052    void WriteContent(std::ofstream *fp, FileType t);
00053 
00054    // 'Serie' methods
00055    DicomDirSerie *NewSerie();
00057    void AddSerie(DicomDirSerie *obj) { Series.push_back(obj); }
00058    void ClearSerie();
00059    DicomDirSerie *GetFirstSerie();
00060    DicomDirSerie *GetNextSerie();
00061    DicomDirSerie *GetLastSerie();
00062 
00063    // 'Visit' methods
00064    DicomDirVisit *NewVisit();
00066    void AddVisit(DicomDirVisit *obj) { Visits.push_back(obj); }
00067    void ClearVisit();
00068    DicomDirVisit *GetFirstVisit();
00069    DicomDirVisit *GetNextVisit();
00070    DicomDirVisit *GetLastVisit();
00071    
00072    // for future use (Full DICOMDIR)
00073 /*
00074    DicomDirResult *GetFirstResult();
00075    DicomDirResult *GetNextResult();
00076    DicomDirResult *GetLastResult();
00077 
00078    DicomDirStudyComponent *GetFirstStudyComponent();
00079    DicomDirStudyComponent *GetNextStudyComponent();
00080    DicomDirStudyComponent *GetLastStudyComponent();
00081 */    
00082 
00083    virtual void Copy(DocEntrySet *set);
00084 
00085 protected:
00086    DicomDirStudy(bool empty=false); 
00087    ~DicomDirStudy();
00088 
00089 private:
00091    ListDicomDirSerie Series;
00093    ListDicomDirSerie::iterator ItSerie;
00094 
00096    ListDicomDirVisit Visits;
00098    ListDicomDirVisit::iterator ItVisit;
00099    
00100 
00101    // for future use (Full DICOMDIR)
00102 /*
00104    ListDicomDirResult Results;
00106    ListDicomDirResult::iterator ItResult;
00107 
00109    ListDicomDirStudyComponent StudyComponents;
00111    ListDicomDirStudyComponent::iterator ItStudyComponents;
00112 */
00113 };
00114 } // end namespace gdcm
00115 
00116 //-----------------------------------------------------------------------------
00117 #endif

Generated on Fri Jan 20 10:14:24 2006 for gdcm by  doxygen 1.4.4