]> Creatis software - gdcm.git/blobdiff - src/gdcmDicomDirSerie.h
Fix mistypings
[gdcm.git] / src / gdcmDicomDirSerie.h
index 27c5adc9cc778de2a78585ed4373d4463e3fba41..13065eb476200cff5cf9102d692955ce62ef94e2 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirSerie.h,v $
   Language:  C++
-  Date:      $Date: 2005/09/02 07:10:03 $
-  Version:   $Revision: 1.29 $
+  Date:      $Date: 2007/08/29 15:30:49 $
+  Version:   $Revision: 1.38 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
 =========================================================================*/
 
-#ifndef GDCMDICOMDIRSERIE_H
-#define GDCMDICOMDIRSERIE_H
+#ifndef _GDCMDICOMDIRSERIE_H_
+#define _GDCMDICOMDIRSERIE_H_
 
 #include "gdcmDicomDirObject.h"
 
-namespace gdcm 
+namespace GDCM_NAME_SPACE 
 {
 class DicomDirImage;
+class DicomDirPrivate;
+
 //-----------------------------------------------------------------------------
 typedef std::list<DicomDirImage *> ListDicomDirImage;
-
+typedef std::list<DicomDirPrivate *> ListDicomDirPrivate;
 //-----------------------------------------------------------------------------
 /**
  * \brief   describes a SERIE  within a within a STUDY
@@ -34,14 +36,17 @@ typedef std::list<DicomDirImage *> ListDicomDirImage;
  */
 class GDCM_EXPORT DicomDirSerie : public DicomDirObject 
 {
+   gdcmTypeMacro(DicomDirSerie);
+
 public:
-   DicomDirSerie(bool empty=false); 
-   ~DicomDirSerie();
+/// \brief Constructs a DicomDirSerie with a RefCounter
+   static DicomDirSerie *New(bool empty=false) {return new DicomDirSerie(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 );
 
-   // Image methods
+   // 'Image' methods
    DicomDirImage *NewImage();
    /// Add a new gdcm::DicomDirImage to the Serie
    void AddImage(DicomDirImage *obj) { Images.push_back(obj); }
@@ -49,27 +54,44 @@ public:
 
    DicomDirImage *GetFirstImage();
    DicomDirImage *GetNextImage();
+   /// returns the number of Images currently held in the gdcm::DicomDirSerie
+   int            GetNumberOfImages() { return Images.size();}
+   
+   // 'Private' methods (For SIEMENS 'CSA non image')
+   DicomDirPrivate *NewPrivate();
+   /// Add a new gdcm::DicomDirPrivate to the Serie
+   void AddPrivate(DicomDirPrivate *obj) { Privates.push_back(obj); }
+   void ClearPrivate();
+
+   DicomDirPrivate *GetFirstPrivate();
+   DicomDirPrivate *GetNextPrivate();   
+   /// returns the number of 'Privates' currently held in the gdcm::DicomDirSerie
+   int             GetNumberOfPrivates() { return Privates.size();}   
+   
+   virtual void Copy(DocEntrySet *set);
+
+protected:
+   DicomDirSerie(bool empty=false); 
+   ~DicomDirSerie();
 
 private:
-
    ///chained list of DicomDirImages (to be exploited recursively)
    ListDicomDirImage Images;
    /// iterator on the DicomDirImages of the current DicomDirSerie
    ListDicomDirImage::iterator ItImage;
 
+   ///chained list of DicomDirPrivates (to be exploited recursively)
+   ListDicomDirPrivate Privates;
+   /// iterator on the DicomDirPrivates of the current DicomDirSerie
+   ListDicomDirPrivate::iterator ItPrivate;
 /*
-// for future use :
+// for future use  (Full DICOMDIR):
 
    /// chained list of DicomDirOverlays(single level)
    ListDicomDirOverlay Overlays;
    /// iterator on the DicomDirOverlays of the current DicomDirSerie
    ListDicomDirOverlay::iterator ItOverlay;
 
-   /// chained list of DicomDirModalityLuts(single level)
-   ListDicomDirModalityLut ModalityLuts;
-   /// iterator on the DicomDirModalityLuts of the current DicomDirSerie
-   ListDicomDirModalityLut::iterator ItModalityLut;
-
    /// chained list of DicomDirModalityLuts(single level)
    ListDicomDirModalityLut ModalityLuts;
    /// iterator on the DicomDirModalityLuts of the current DicomDirSerie