]> Creatis software - gdcm.git/blobdiff - src/gdcmDicomEntry.h
Remove useless accesses to the Dicom Dictionnary std::map
[gdcm.git] / src / gdcmDicomEntry.h
index d74dca86cc1925d733f6de829445d1d9c3bcd8c3..513c2d9cbad20eb8ada49c5a906768b6da4db0b2 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomEntry.h,v $
   Language:  C++
-  Date:      $Date: 2005/10/19 13:17:05 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2006/04/11 16:03:26 $
+  Version:   $Revision: 1.10 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -20,7 +20,7 @@
 #define GDCMDICOMENTRY_H
 
 #include "gdcmCommon.h"
-#include "gdcmBase.h"
+#include "gdcmRefCounter.h"
 #include "gdcmVRKey.h"
 #include "gdcmTagKey.h"
 
@@ -29,22 +29,21 @@ namespace gdcm
 //-----------------------------------------------------------------------------
 /**
  * \brief
- * the DicomEntry in an element contained by the Dict.
+ * a DicomEntry is an element contained by the Dict.
  * It contains :
- *  - the key referenced by the DICOM norm or the constructor (for private keys)
- *    i.e. the Group number
- *         the Element number
+ *  - the key referenced by the DICOM norm or the manufacturer(for private keys)
+ *    i.e. 
+ *    - - the Group number
+ *    - - the Element number
  *  - the VR (Value Representation)
- *  - the VM (Value Multplicity)
+ *  - the VM (Value Multiplicity)
  *  - the corresponding name in english
  */
-class GDCM_EXPORT DicomEntry : public Base
+class GDCM_EXPORT DicomEntry : public RefCounter
 {
-public:
-   DicomEntry(const uint16_t &group,const uint16_t &elt,
-              const VRKey &vr = GDCM_VRUNKNOWN);
-   ~DicomEntry();
+   gdcmTypeMacro(DicomEntry);
 
+public:
 // Print
    void Print(std::ostream &os = std::cout, std::string const &indent = "");
 
@@ -69,16 +68,22 @@ public:
    const TagKey &GetKey() const { return Tag; }
 
 // Key creation
-   static TagKey TranslateToKey(uint16_t group, uint16_t elem);
+   static TagKey TranslateToKey(uint16_t group, uint16_t elem)
+                                { return TagKey(group,elem); }
+
+protected:
+   DicomEntry(const uint16_t &group,const uint16_t &elt,
+              const VRKey &vr = GDCM_VRUNKNOWN);
+   ~DicomEntry();
 
 private:
-   /// Dicom \ref TagKey. Contains DicomGroup number and DicomElement number
+   /// Dicom \ref TagKey. Contains Dicom Group number and Dicom Element number
    TagKey Tag;
 
    /// \brief Value Representation i.e. some clue about the nature
    ///        of the data represented e.g. 
-   ///        "FD" short for "Floating Point Double"(see \ref VR)
-   ///        "PN" short for "Person Name"       
+   ///        "FD" short for "Floating Point Double"(see \ref VR)
+   ///        "PN" short for "Person Name"       
    VRKey VR;
 };
 } // end namespace gdcm