X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDocEntry.cxx;h=9021e931fa3b6083f38a1764cc9643ae46866c86;hb=cfd7023dd0efe6d0cf17cdc1b31bbf17ac8a9ade;hp=fcd2db28b0edb4480db26844cacab23a6f81effd;hpb=ba78e6c6d47d6db1528e8e88e5ebde7296a26692;p=gdcm.git diff --git a/src/gdcmDocEntry.cxx b/src/gdcmDocEntry.cxx index fcd2db28..9021e931 100644 --- a/src/gdcmDocEntry.cxx +++ b/src/gdcmDocEntry.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDocEntry.cxx,v $ Language: C++ - Date: $Date: 2004/12/03 20:16:57 $ - Version: $Revision: 1.34 $ + Date: $Date: 2005/01/16 04:50:41 $ + Version: $Revision: 1.41 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -21,6 +21,7 @@ #include "gdcmVR.h" #include "gdcmGlobal.h" #include "gdcmUtil.h" +#include "gdcmDebug.h" #include // for std::ios::left, ... #include @@ -38,7 +39,7 @@ namespace gdcm * \brief Constructor from a given DictEntry * @param in Pointer to existing dictionary entry */ -DocEntry::DocEntry(DictEntry* in) +DocEntry::DocEntry(DictEntry *in) { ImplicitVR = false; DicomDict = in; @@ -47,8 +48,7 @@ DocEntry::DocEntry(DictEntry* in) // init some variables ReadLength = 0; - UsableLength = 0; - PrintLevel = 0; + Length = 0; } //----------------------------------------------------------------------------- @@ -58,10 +58,8 @@ DocEntry::DocEntry(DictEntry* in) * \brief Prints the common part of ValEntry, BinEntry, SeqEntry * @param os ostream we want to print in */ -void DocEntry::Print(std::ostream& os) +void DocEntry::Print(std::ostream &os, std::string const & ) { - PrintLevel = 2; // FIXME - size_t o; std::string st; TSKey v; @@ -71,13 +69,15 @@ void DocEntry::Print(std::ostream& os) o = GetOffset(); vr = GetVR(); + if(vr==GDCM_UNKNOWN) + vr=" "; s << DictEntry::TranslateToKey(GetGroup(),GetElement()); if (PrintLevel >= 2) { s << " lg : "; - lgth = GetReadLength(); // ReadLength, as opposed to UsableLength + lgth = GetReadLength(); // ReadLength, as opposed to Length if (lgth == 0xffffffff) { st = Util::Format("x(ffff)"); // I said : "x(ffff)" ! @@ -121,13 +121,13 @@ void DocEntry::Print(std::ostream& os) * @param fp already open file pointer * @param filetype type of the file to be written */ -void DocEntry::WriteContent(std::ofstream* fp, FileType filetype) +void DocEntry::WriteContent(std::ofstream *fp, FileType filetype) { uint32_t ffff = 0xffffffff; uint16_t group = GetGroup(); VRKey vr = GetVR(); uint16_t el = GetElement(); - uint32_t lgr = GetReadLength(); + uint32_t lgr = GetLength(); if ( group == 0xfffe && el == 0x0000 ) { @@ -166,7 +166,7 @@ void DocEntry::WriteContent(std::ofstream* fp, FileType filetype) uint16_t z = 0; uint16_t shortLgr = lgr; - if (vr == "unkn") + if (vr == GDCM_UNKNOWN) { // Unknown was 'written' // deal with Little Endian @@ -176,7 +176,7 @@ void DocEntry::WriteContent(std::ofstream* fp, FileType filetype) else { binary_write(*fp, vr); - assert( vr.size() == 2 ); + gdcmAssertMacro( vr.size() == 2 ); if ( (vr == "OB") || (vr == "OW") || (vr == "SQ") || (vr == "UN") ) { @@ -245,14 +245,12 @@ uint32_t DocEntry::GetFullLength() * \ingroup DocEntry * \brief Copies all the attributes from an other DocEntry */ -void DocEntry::Copy (DocEntry* e) +void DocEntry::Copy (DocEntry *e) { -// DicomDict = e->DicomDict; - UsableLength = e->UsableLength; - ReadLength = e->ReadLength; - ImplicitVR = e->ImplicitVR; - Offset = e->Offset; - PrintLevel = e->PrintLevel; + Length = e->Length; + ReadLength = e->ReadLength; + ImplicitVR = e->ImplicitVR; + Offset = e->Offset; // TODO : remove DocEntry SQDepth }