]> Creatis software - gdcm.git/blobdiff - src/gdcmDicomDirElement.h
COMP: Too bad gcc3.3 on APPLE does not supported deprecated attribute on ctor......
[gdcm.git] / src / gdcmDicomDirElement.h
index c23be83a9e6b22a8c995205b99a9cfadd164d117..c9c5148c40ffce7057bd5a96a293c78d97c3611a 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.h,v $
   Language:  C++
-  Date:      $Date: 2005/02/05 00:22:14 $
-  Version:   $Revision: 1.25 $
+  Date:      $Date: 2005/07/12 17:08:12 $
+  Version:   $Revision: 1.30 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -27,31 +27,43 @@ namespace gdcm
 {
 
 //-----------------------------------------------------------------------------
-/**
- * \brief internal structure, not end user intended
- *        shouln't appear here
- */  
-typedef struct
-{
-   /// DicomGroup number
-   unsigned short int Group;
-   /// DicomElement number
-   unsigned short int Elem;
-   /// value (coded as a std::string) of the Element
-   std::string Value;
-} Element;
 
 typedef std::list<Element> ListDicomDirElem;
 typedef std::list<Element> ListDicomDirMetaElem;
 typedef std::list<Element> ListDicomDirPatientElem;
 typedef std::list<Element> ListDicomDirStudyElem;
+typedef std::list<Element> ListDicomDirVisitElem;
 typedef std::list<Element> ListDicomDirSerieElem;
 typedef std::list<Element> ListDicomDirImageElem;
 
+// For future use (Full DICOMDIR)
+
+/*
+typedef std::list<Element> ListDicomDirResultElem;
+typedef std::list<Element> ListDicomDirStudyComponentElem;
+
+typedef std::list<Element> ListDicomDirOverlayElem;
+typedef std::list<Element> ListDicomDirModalityLutElem;
+typedef std::list<Element> ListDicomDirModalityLutElem;
+typedef std::list<Element> ListDicomDirCurveElem;
+typedef std::list<Element> ListDicomDirStoredPrintElem;
+typedef std::list<Element> ListDicomDirRtDoseElem;
+typedef std::list<Element> ListDicomDirRtStructureSetElem;
+typedef std::list<Element> ListDicomDirRtPlanElem;
+typedef std::list<Element> ListDicomDirRtTreatRecordElem;
+typedef std::list<Element> ListDicomDirPresentationElem;
+typedef std::list<Element> ListDicomDirSrDocumentElem;
+typedef std::list<Element> ListDicomDirKeyObjectDocElem;
+typedef std::list<Element> ListDicomDirSpectroscopyElem;
+typedef std::list<Element> ListDicomDirRawDataElem;
+typedef std::list<Element> ListDicomDirRegistrationElem;
+typedef std::list<Element> ListDicomDirFiducialElem;
+*/
+
 //-----------------------------------------------------------------------------
 /**
- * \brief   Represents elements contained in a DicomDir
- *           class for the chained lists from the file 'Dicts/DicomDir.dic'
+ * \brief   Represents elements contained in a DicomDir class
+ *          for the chained lists from the file 'Dicts/DicomDir.dic'
  */
 class GDCM_EXPORT DicomDirElement
 {
@@ -85,6 +97,12 @@ public:
    ListDicomDirStudyElem const &GetDicomDirStudyElements() const
       { return DicomDirStudyList; };
 
+   /**
+    * \brief   returns a reference to the chained List 
+    *          related to the VISIT Elements of a DICOMDIR.
+    */      
+   ListDicomDirVisitElem const &GetDicomDirVisitElements() const
+      { return DicomDirVisitList; };
    /**
     * \brief   returns a reference to the chained List 
     *          related to the SERIE Elements of a DICOMDIR.
@@ -102,6 +120,10 @@ public:
    // Public method to add an element
    bool AddEntry(DicomDirType type, Element const &elem);
 
+   // Only one instance of ddElem 
+   void AddDicomDirElement(DicomDirType type,
+                           uint16_t group, uint16_t elem);
+
 private:
    /// Elements chained list, related to the MetaElements of DICOMDIR
    ListDicomDirMetaElem    DicomDirMetaList;
@@ -109,6 +131,8 @@ private:
    ListDicomDirPatientElem DicomDirPatientList;
    /// Elements chained list, related to the StudyElements of DICOMDIR
    ListDicomDirStudyElem   DicomDirStudyList;
+   /// Elements chained list, related to the VisitElements of DICOMDIR
+   ListDicomDirVisitElem   DicomDirVisitList;
    /// Elements chained list, related to the SerieElements of DICOMDIR
    ListDicomDirSerieElem   DicomDirSerieList;
    /// Elements chained list, related to the ImageElements of DICOMDIR