X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmDicomDirElement.h;h=bc4a6bd3c0a35e71694fbf4c085b6c697ca7af2f;hb=f3252c8bfb8ee8d4a7bf5f896a919f601a5fd9f7;hp=74b18e0331128a7ea60cfab4388f97d0038b3bdb;hpb=bd1e1aea88a95e4d14cd59088a7e5280703402ea;p=gdcm.git diff --git a/src/gdcmDicomDirElement.h b/src/gdcmDicomDirElement.h index 74b18e03..bc4a6bd3 100644 --- a/src/gdcmDicomDirElement.h +++ b/src/gdcmDicomDirElement.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDirElement.h,v $ Language: C++ - Date: $Date: 2005/10/19 12:01:50 $ - Version: $Revision: 1.32 $ + Date: $Date: 2007/05/23 14:18:08 $ + Version: $Revision: 1.40 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -19,11 +19,12 @@ #ifndef GDCMDICOMDIRELEMENT_H #define GDCMDICOMDIRELEMENT_H -#include "gdcmCommon.h" +#include "gdcmRefCounter.h" +#include "gdcmVRKey.h" #include -namespace gdcm +namespace GDCM_NAME_SPACE { //----------------------------------------------------------------------------- @@ -35,6 +36,7 @@ typedef std::list ListDicomDirStudyElem; typedef std::list ListDicomDirVisitElem; typedef std::list ListDicomDirSerieElem; typedef std::list ListDicomDirImageElem; +typedef std::list ListDicomDirPrivateElem; // For "CSA Non Image" // For future use (Full DICOMDIR) @@ -65,16 +67,19 @@ typedef std::list ListDicomDirFiducialElem; * \brief Represents elements contained in a DicomDir class * for the chained lists from the file 'Dicts/DicomDir.dic' */ -class GDCM_EXPORT DicomDirElement +class GDCM_EXPORT DicomDirElement : public RefCounter { + gdcmTypeMacro(DicomDirElement); + public: - DicomDirElement(); - ~DicomDirElement(); +/// \brief Contructs a DicomDirElement with a RefCounter + static DicomDirElement *New() {return new DicomDirElement();} - /** + /** * \brief canonical Printer */ - void Print(std::ostream &os); + virtual void Print(std::ostream &os = std::cout, + std::string const &indent = "" ); /** * \brief returns a reference to the chained List @@ -117,12 +122,24 @@ public: ListDicomDirImageElem const &GetDicomDirImageElements() const { return DicomDirImageList; } + /** + * \brief returns a reference to the chained List + * related to the PRIVATE Elements of a DICOMDIR. + */ + ListDicomDirPrivateElem const &GetDicomDirPrivateElements() const + { return DicomDirPrivateList; } + + // Public method to add an element bool AddEntry(DicomDirType type, DicomElement const &elem); // Only one instance of ddElem void AddDicomDirElement(DicomDirType type, - uint16_t group, uint16_t elem); + uint16_t group, uint16_t elem, VRKey vr); + +protected: + DicomDirElement(); + ~DicomDirElement(); private: /// Elements chained list, related to the MetaElements of DICOMDIR @@ -137,6 +154,8 @@ private: ListDicomDirSerieElem DicomDirSerieList; /// Elements chained list, related to the ImageElements of DICOMDIR ListDicomDirImageElem DicomDirImageList; + /// Elements chained list, related to the PrivateElements of DICOMDIR + ListDicomDirPrivateElem DicomDirPrivateList; }; } // end namespace gdcm //-----------------------------------------------------------------------------