]> Creatis software - gdcm.git/blobdiff - src/gdcmDocEntry.h
* VoidArea is now called BinArea (less confusing name),
[gdcm.git] / src / gdcmDocEntry.h
index 194501ccb35b41a8fbdcba65d608dbe747d5a3d9..7253dcb012d7d8c852ccce0e868b1c68b38c7c44 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntry.h,v $
   Language:  C++
-  Date:      $Date: 2004/08/01 03:20:23 $
-  Version:   $Revision: 1.16 $
+  Date:      $Date: 2004/09/15 03:50:48 $
+  Version:   $Revision: 1.21 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -16,8 +16,8 @@
                                                                                 
 =========================================================================*/
 
-#ifndef GDCMDocEntry_H
-#define GDCMDocEntry_H
+#ifndef GDCMDOCENTRY_H
+#define GDCMDOCENTRY_H
 
 #include <iostream>
 #include <stdio.h>
@@ -39,6 +39,7 @@ class GDCM_EXPORT gdcmDocEntry
 {
 public:
    gdcmDocEntry(gdcmDictEntry*);
+   virtual ~gdcmDocEntry() {};
 
    /// Returns the Dicom Group number of the current Dicom Header Entry
    uint16_t      GetGroup()     { return DictEntry->GetGroup();  };
@@ -47,7 +48,10 @@ public:
    uint16_t      GetElement()   { return DictEntry->GetElement();};
 
    /// Returns the 'key' of the current Dicom Header Entry
-   std::string  GetKey()       { return DictEntry->GetKey();    };
+   void  SetKey( gdcmTagKey key ) { Key = key; }
+
+   /// Returns the 'key' of the current Dicom Header Entry
+   std::string GetKey() { return Key; }
 
    /// \brief Returns the 'Name' '(e.g. "Patient's Name") found in the Dicom
    /// Dictionnary of the current Dicom Header Entry
@@ -59,7 +63,7 @@ public:
    std::string  GetVR()        { return DictEntry->GetVR();     };
 
    /// \brief Returns offset (since the beginning of the file, including
-   /// the File Pramble, if any) of the value of the current Dicom HeaderEntry
+   /// the File Preamble, if any) of the value of the current Dicom HeaderEntry
    /// \warning offset of the *value*, not of the Dicom Header Entry
    size_t       GetOffset()    { return Offset;             };
 
@@ -104,11 +108,11 @@ public:
    bool IsImplicitVR() { return ImplicitVR; };
 
    /// \brief Tells us if the VR of the current Dicom Element is Unknown
-   /// @return true if the VR is unkonwn
+   /// @return true if the VR is unknown
    bool IsVRUnknown() { return DictEntry->IsVRUnknown(); };
 
    /// \brief   Sets the DicEntry of the current Dicom Element
-   /// @param   NewEntry pointer to the DictEntry
+   /// @param   newEntry pointer to the DictEntry
    void SetDictEntry(gdcmDictEntry *newEntry) { DictEntry = newEntry; };
 
    /// \brief  Gets the DicEntry of the current Dicom Element
@@ -132,14 +136,6 @@ public:
    bool IsItemDelimitor();
    bool IsSequenceDelimitor();   
 
-   /// \brief Gets the depth level of a Dicom header entry embedded in
-   ///        a SeQuence
-   int GetDepthLevel() { return SQDepthLevel; }
-
-   /// \brief Sets the depth level of a Dicom header entry embedded in
-   ///        a SeQuence
-   void SetDepthLevel(int depth) { SQDepthLevel = depth; }
-
 private:
    // FIXME: In fact we should be more specific and use :
    // friend gdcmDocEntry * gdcmHeader::ReadNextElement(void);
@@ -170,9 +166,10 @@ protected:
 
    /// How many details are to be printed (value : 0,1,2)      
    int PrintLevel;
-   
-   /// Gives the depth level of elements inside SeQuences   
-   int SQDepthLevel;
+
+   /// \brief Generalized key (i.e. a gdcmBaseTagKey prepending a gdcmTagKey)
+   ///        of this gdcmDocEntry
+   gdcmTagKey Key;
 };
 
 //-----------------------------------------------------------------------------