]> Creatis software - gdcm.git/blobdiff - src/gdcmDicomDirElement.h
* src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number)
[gdcm.git] / src / gdcmDicomDirElement.h
index 07bf7db38276a9201c6aa0d73d856b2ab396128a..4540ce16d26abec5aae39ac882d0231345a16f78 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.h,v $
   Language:  C++
-  Date:      $Date: 2004/11/03 18:08:56 $
-  Version:   $Revision: 1.15 $
+  Date:      $Date: 2005/02/11 15:22:18 $
+  Version:   $Revision: 1.28 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -27,15 +27,6 @@ namespace gdcm
 {
 
 //-----------------------------------------------------------------------------
-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;
@@ -44,11 +35,34 @@ typedef std::list<Element> ListDicomDirStudyElem;
 typedef std::list<Element> ListDicomDirSerieElem;
 typedef std::list<Element> ListDicomDirImageElem;
 
+// For future use (Full DICOMDIR)
+/*
+typedef std::list<Element> ListDicomDirVisit;
+typedef std::list<Element> ListDicomDirResult;
+typedef std::list<Element> ListDicomDirStudyComponent;
+
+typedef std::list<Element> ListDicomDirOverlay;
+typedef std::list<Element> ListDicomDirModalityLut;
+typedef std::list<Element> ListDicomDirModalityLut;
+typedef std::list<Element> ListDicomDirCurve;
+typedef std::list<Element> ListDicomDirStoredPrint;
+typedef std::list<Element> ListDicomDirRtDose;
+typedef std::list<Element> ListDicomDirRtStructureSet;
+typedef std::list<Element> ListDicomDirRtPlan;
+typedef std::list<Element> ListDicomDirRtTreatRecord;
+typedef std::list<Element> ListDicomDirPresentation;
+typedef std::list<Element> ListDicomDirSrDocument;
+typedef std::list<Element> ListDicomDirKeyObjectDoc;
+typedef std::list<Element> ListDicomDirSpectroscopy;
+typedef std::list<Element> ListDicomDirRawData;
+typedef std::list<Element> ListDicomDirRegistration;
+typedef std::list<Element> ListDicomDirFiducial;
+*/
+
 //-----------------------------------------------------------------------------
 /**
- * \ingroup DicomDirElement
- * \brief    DicomDirElement represents elements contained in a dicom dir
- *           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
 {
@@ -58,54 +72,50 @@ public:
 
   /**
     * \brief   canonical Printer 
-    * \sa    SetPrintLevel
     */ 
    void Print(std::ostream &os);
 
    /**
-    * \ingroup DicomDirElement
     * \brief   returns a reference to the chained List 
     *          related to the META Elements of a DICOMDIR.
     */
-   ListDicomDirMetaElem const & GetDicomDirMetaElements() const
+   ListDicomDirMetaElem const &GetDicomDirMetaElements() const
       { return DicomDirMetaList; };
 
    /**
-    * \ingroup DicomDirElement
     * \brief   returns a reference to the chained List 
     *          related to the PATIENT Elements of a DICOMDIR.
     */      
-   ListDicomDirPatientElem const & GetDicomDirPatientElements() const
+   ListDicomDirPatientElem const &GetDicomDirPatientElements() const
       { return DicomDirPatientList; };
 
    /**
-    * \ingroup DicomDirElement
     * \brief   returns a reference to the chained List 
     *          related to the STUDY Elements of a DICOMDIR.
     */      
-   ListDicomDirStudyElem const & GetDicomDirStudyElements() const
+   ListDicomDirStudyElem const &GetDicomDirStudyElements() const
       { return DicomDirStudyList; };
 
    /**
-    * \ingroup DicomDirElement
     * \brief   returns a reference to the chained List 
     *          related to the SERIE Elements of a DICOMDIR.
     */
-   ListDicomDirSerieElem const & GetDicomDirSerieElements() const
+   ListDicomDirSerieElem const &GetDicomDirSerieElements() const
       { return DicomDirSerieList; };
 
    /**
-    * \ingroup DicomDirElement
     * \brief   returns a reference to the chained List 
     *          related to the IMAGE Elements of a DICOMDIR.
     */
-   ListDicomDirImageElem const & GetDicomDirImageElements() const
+   ListDicomDirImageElem const &GetDicomDirImageElements() const
       { return DicomDirImageList; };
 
-   /**
-    * Public method to add an element
-    */
-   bool AddNewEntry(std::string const & type, Element const & elem);
+   // 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
@@ -117,7 +127,6 @@ private:
    /// Elements chained list, related to the SerieElements of DICOMDIR
    ListDicomDirSerieElem   DicomDirSerieList;
    /// Elements chained list, related to the ImageElements of DICOMDIR
-   
    ListDicomDirImageElem   DicomDirImageList;
 };
 } // end namespace gdcm