00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GDCMDICOMENTRY_H
00020 #define GDCMDICOMENTRY_H
00021
00022 #include "gdcmCommon.h"
00023 #include "gdcmRefCounter.h"
00024 #include "gdcmVRKey.h"
00025 #include "gdcmTagKey.h"
00026
00027 namespace gdcm
00028 {
00029
00042 class GDCM_EXPORT DicomEntry : public RefCounter
00043 {
00044 gdcmTypeMacro(DicomEntry);
00045
00046 public:
00047
00048 void Print(std::ostream &os = std::cout, std::string const &indent = "");
00049
00052 const uint16_t &GetGroup() const { return Tag[0]; }
00053
00056 const uint16_t &GetElement() const { return Tag[1]; }
00057
00060 virtual void SetVR(VRKey const &vr) { VR = vr; }
00063 const VRKey &GetVR() const { return VR; }
00066 bool IsVRUnknown() const { return VR == GDCM_VRUNKNOWN; }
00067
00068 const TagKey &GetKey() const { return Tag; }
00069
00070
00071 static TagKey TranslateToKey(uint16_t group, uint16_t elem);
00072
00073 protected:
00074 DicomEntry(const uint16_t &group,const uint16_t &elt,
00075 const VRKey &vr = GDCM_VRUNKNOWN);
00076 ~DicomEntry();
00077
00078 private:
00080 TagKey Tag;
00081
00086 VRKey VR;
00087 };
00088 }
00089
00090 #endif