X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDictEntry.cxx;h=da623a2ef1dd79b6226bd3e1edb6e76e40e441ea;hb=cecf8a0bb86a9b3223a9d02d1106a564aa6ef7f9;hp=ddfd3e00ec7d45d626835bcab614bbde805558fe;hpb=51b61705e90b352de08519835fa1c63b81bca616;p=gdcm.git diff --git a/src/gdcmDictEntry.cxx b/src/gdcmDictEntry.cxx index ddfd3e00..da623a2e 100644 --- a/src/gdcmDictEntry.cxx +++ b/src/gdcmDictEntry.cxx @@ -1,23 +1,81 @@ -#include "gdcm.h" +// gdcmDictEntry.cxx +//----------------------------------------------------------------------------- +#include "gdcmDictEntry.h" +#include "gdcmDebug.h" + +#include // FIXME For sprintf + +//----------------------------------------------------------------------------- +// Constructor / Destructor +/** + * \ingroup gdcmDictEntry + * \brief Constructor + * @param InGroup DICOM-Group Number + * @param InElement DICOM-Element Number + * @param InVr Value Representatiion + * @param InFourth // DO NOT use any longer; + * NOT part of the Dicom Standard + * @param InName description of the element +*/ gdcmDictEntry::gdcmDictEntry(guint16 InGroup, guint16 InElement, - string InVr, string InFourth, string InName) -{ - group = InGroup; + std::string InVr, std::string InFourth, + std::string InName) { + group = InGroup; element = InElement; - vr = InVr; - fourth = InFourth; - name = InName; - key = TranslateToKey(group, element); + 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; - // CLEAN ME: better call the iostream<< with the hex manipulator on. + // CLEANME: better call the iostream<< with the hex manipulator on. // This requires some reading of the stdlibC++ sources to make the // proper call (or copy). sprintf(trash, "%04x|%04x", group , 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 + +//----------------------------------------------------------------------------- +