X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDictEntry.h;h=b3e6ffa7f8a4c94fe6c23884933e09094109cb5e;hb=33b1eec26f02131242fbfdef52184b24763cf4e6;hp=e2cecb8fc17098b7ee3bd3348a1f768fea65d21e;hpb=1b20e56c29494e7d1bef31d3ade5de833347c228;p=gdcm.git diff --git a/src/gdcmDictEntry.h b/src/gdcmDictEntry.h index e2cecb8f..b3e6ffa7 100644 --- a/src/gdcmDictEntry.h +++ b/src/gdcmDictEntry.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDictEntry.h,v $ Language: C++ - Date: $Date: 2005/11/05 13:24:39 $ - Version: $Revision: 1.43 $ + Date: $Date: 2005/11/29 17:21:34 $ + Version: $Revision: 1.44 $ 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,15 @@ #ifndef GDCMDICTENTRY_H #define GDCMDICTENTRY_H -#include "gdcmDicomEntry.h" +#include "gdcmRefCounter.h" +#include "gdcmTagKey.h" +#include "gdcmVRKey.h" namespace gdcm { //----------------------------------------------------------------------------- +class VRKey; +class TagKey; /** * \brief * the DictEntry in an element contained by the Dict. @@ -35,7 +39,7 @@ namespace gdcm * - the VM (Value Multiplicity) * - the corresponding name in english */ -class GDCM_EXPORT DictEntry : public DicomEntry +class GDCM_EXPORT DictEntry : public RefCounter { gdcmTypeMacro(DictEntry); @@ -48,13 +52,35 @@ public: // Print void Print(std::ostream &os = std::cout, std::string const &indent = ""); -// Content of DictEntry - virtual void SetVR(VRKey const &vr); - virtual void SetVM(TagName const &vm); + /// \brief Returns the Dicom Group Number + /// @return the Dicom Group Number + const uint16_t &GetGroup() const { return Tag[0]; } + + /// \brief Returns the Dicom Element Number + /// @return the Dicom Element Number + const uint16_t &GetElement() const { return Tag[1]; } + + /// \brief Set the Dicom Value Representation + /// \param vr the Dicom Value Representation + virtual void SetVR(VRKey const &vr) { VR = vr; } + /// \brief Returns the Dicom Value Representation + /// @return the Dicom Value Representation + const VRKey &GetVR() const { return VR; } + /// \brief tells if the V(alue) R(epresentation) is known (?!) + /// @return + bool IsVRUnknown() const { return VR == GDCM_VRUNKNOWN; } + + const TagKey &GetKey() const { return Tag; } + +// Key creation + static TagKey TranslateToKey(uint16_t group, uint16_t elem); + /// \brief returns the VM field of the current DictEntry /// @return The 'Value Multiplicity' field const TagName &GetVM() const { return VM; } - + /// \brief Set the VM field of the current DictEntry + /// \param vm the'Value Multiplicity' + virtual void SetVM(TagName const &vm) { VM = vm; } /// \brief tells if the V(alue) M(ultiplicity) is known (?!) /// @return bool IsVMUnknown() const { return VM == GDCM_UNKNOWN; } @@ -70,7 +96,18 @@ protected: TagName const &vm = GDCM_UNKNOWN, TagName const &name = GDCM_UNKNOWN); + ~DictEntry(); + private: + /// 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" + VRKey VR; + /// \brief Value Multiplicity (e.g. "1", "1-n", "2-n", "6") TagName VM;