X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDictEntry.cxx;h=763dc3b0ba32e972ae1e58d62817430f77b2ec6c;hb=6ff1602e07c6fd4b27ece346c879ac2f3d48d2c9;hp=ddfd3e00ec7d45d626835bcab614bbde805558fe;hpb=51b61705e90b352de08519835fa1c63b81bca616;p=gdcm.git diff --git a/src/gdcmDictEntry.cxx b/src/gdcmDictEntry.cxx index ddfd3e00..763dc3b0 100644 --- a/src/gdcmDictEntry.cxx +++ b/src/gdcmDictEntry.cxx @@ -1,14 +1,20 @@ -#include "gdcm.h" +// gdcmDictEntry.cxx + +#include "gdcmDictEntry.h" + +#include // FIXME For sprintf +#include "gdcmUtil.h" + gdcmDictEntry::gdcmDictEntry(guint16 InGroup, guint16 InElement, - string InVr, string InFourth, string InName) -{ - group = InGroup; - element = InElement; - vr = InVr; - fourth = InFourth; - name = InName; - key = TranslateToKey(group, element); + std::string InVr, std::string InFourth, + std::string InName) { + group = InGroup; + element = InElement; + vr = InVr; + fourth = InFourth; + name = InName; + key = TranslateToKey(group, element); } TagKey gdcmDictEntry::TranslateToKey(guint16 group, guint16 element) { @@ -21,3 +27,23 @@ TagKey gdcmDictEntry::TranslateToKey(guint16 group, guint16 element) { key = trash; // Convertion through assignement return key; } + +/** + * \ingroup gdcmDictEntry + * \brief If-and only if-the vr is unset then overwrite it. + * @param NewVr New vr to be set. + */ +void gdcmDictEntry::SetVR(std::string NewVr) { + if ( IsVrUnknown() ) + vr = NewVr; + else { + dbg.Error(true, "gdcmDictEntry::SetVR", + "Overwriting vr might compromise a dictionary"); + } +} + +bool gdcmDictEntry::IsVrUnknown() { + if ( vr == "Unknown" ) + return true; + return false; +}