X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDictEntry.cxx;h=ee04a0c62a7f3a036df8394e5b2defb9da9787d1;hb=49484255e3674c038cbf2259a8c3325c0039cd41;hp=5bcacb34fbe1960b1d907bdef4eec08229a56372;hpb=70e24c6c61481f9836e26b6b44a9670d92a4f43b;p=gdcm.git diff --git a/src/gdcmDictEntry.cxx b/src/gdcmDictEntry.cxx index 5bcacb34..ee04a0c6 100644 --- a/src/gdcmDictEntry.cxx +++ b/src/gdcmDictEntry.cxx @@ -1,16 +1,48 @@ -#include "gdcmlib.h" +// gdcmDictEntry.cxx +//----------------------------------------------------------------------------- +#include "gdcmDictEntry.h" + +#include // FIXME For sprintf +#include "gdcmUtil.h" + +//----------------------------------------------------------------------------- +// Constructor / Destructor +/** + * \ingroup gdcmDictEntry + * \brief Construtor + * @param InGroup + * @param InElement + * @param InVr + * @param InFourth // DO NOT use any longer + * NOT part of the Dicom Standard + * @param InName +*/ 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); } +//----------------------------------------------------------------------------- +// Print + +//----------------------------------------------------------------------------- +// Public +/** + * \ingroup gdcmDictEntry + * \brief concatenates 2 guint16 (supposed to be a Dicom group number + * and a Dicom element number) + * @param group the Dicom group number used to build the tag + * @param element the Dicom element number used to build the tag + * return the built tag + */ + TagKey gdcmDictEntry::TranslateToKey(guint16 group, guint16 element) { char trash[10]; TagKey key; @@ -21,3 +53,27 @@ TagKey gdcmDictEntry::TranslateToKey(guint16 group, guint16 element) { key = trash; // Convertion through assignement return key; } + +/** + * \ingroup gdcmDictEntry + * \brief If-and only if-the V(alue) R(epresentation) + * is unset then overwrite it. + * @param NewVr New V(alue) R(epresentation) 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"); + } +} + +//----------------------------------------------------------------------------- +// Protected + +//----------------------------------------------------------------------------- +// Private + +//----------------------------------------------------------------------------- +