X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDocEntrySet.cxx;h=2f0de0e39d730c292ade0fa7c22ee7fdb6c4c0ee;hb=0068e5861800986e33ee5eeac99863c4e01e3512;hp=04dc3a1d9e0e7d3d696886a0ceb7e26672b2f5b9;hpb=0f8bcdd7eb7538bda5c38c4587c0ae54cb0c3693;p=gdcm.git diff --git a/src/gdcmDocEntrySet.cxx b/src/gdcmDocEntrySet.cxx index 04dc3a1d..2f0de0e3 100644 --- a/src/gdcmDocEntrySet.cxx +++ b/src/gdcmDocEntrySet.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDocEntrySet.cxx,v $ Language: C++ - Date: $Date: 2005/02/04 14:49:01 $ - Version: $Revision: 1.53 $ + Date: $Date: 2005/02/11 15:22:18 $ + Version: $Revision: 1.55 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -129,7 +129,7 @@ BinEntry *DocEntrySet::GetBinEntry(uint16_t group, uint16_t elem) DocEntry *currentEntry = GetDocEntry(group, elem); if ( !currentEntry ) { - gdcmVerboseMacro( "No corresponding BinEntry " << std::hex << group << + gdcmWarningMacro( "No corresponding BinEntry " << std::hex << group << "," << elem); return NULL; } @@ -150,7 +150,7 @@ SeqEntry *DocEntrySet::GetSeqEntry(uint16_t group, uint16_t elem) DocEntry *currentEntry = GetDocEntry(group, elem); if ( !currentEntry ) { - gdcmVerboseMacro( "No corresponding SeqEntry " << std::hex << group << + gdcmWarningMacro( "No corresponding SeqEntry " << std::hex << group << "," << elem); return NULL; } @@ -172,7 +172,7 @@ bool DocEntrySet::SetValEntry(std::string const &content, ValEntry *entry = GetValEntry(group, elem); if (!entry ) { - gdcmVerboseMacro( "No corresponding ValEntry " << std::hex << group << + gdcmWarningMacro( "No corresponding ValEntry " << std::hex << group << "," << elem << " element (try promotion first)."); return false; } @@ -194,7 +194,7 @@ bool DocEntrySet::SetBinEntry(uint8_t *content, int lgth, BinEntry *entry = GetBinEntry(group, elem); if (!entry ) { - gdcmVerboseMacro( "No corresponding ValEntry " << std::hex << group << + gdcmWarningMacro( "No corresponding ValEntry " << std::hex << group << "," << elem << " element (try promotion first)."); return false; } @@ -268,7 +268,7 @@ ValEntry *DocEntrySet::InsertValEntry(std::string const &value, { if( !RemoveEntry(currentEntry) ) { - gdcmVerboseMacro( "Removal of previous DocEntry failed."); + gdcmWarningMacro( "Removal of previous DocEntry failed."); return NULL; } @@ -282,7 +282,7 @@ ValEntry *DocEntrySet::InsertValEntry(std::string const &value, if ( !AddEntry(valEntry) ) { - gdcmVerboseMacro("AddEntry failed although this is a creation."); + gdcmWarningMacro("AddEntry failed although this is a creation."); delete valEntry; return NULL; @@ -328,7 +328,7 @@ BinEntry *DocEntrySet::InsertBinEntry(uint8_t *binArea, int lgth, { if( !RemoveEntry(currentEntry) ) { - gdcmVerboseMacro( "Removal of previous DocEntry failed."); + gdcmWarningMacro( "Removal of previous DocEntry failed."); return NULL; } @@ -342,7 +342,7 @@ BinEntry *DocEntrySet::InsertBinEntry(uint8_t *binArea, int lgth, if ( !AddEntry(binEntry) ) { - gdcmVerboseMacro( "AddEntry failed allthough this is a creation."); + gdcmWarningMacro( "AddEntry failed allthough this is a creation."); delete binEntry; return NULL; @@ -372,7 +372,7 @@ BinEntry *DocEntrySet::InsertBinEntry(uint8_t *binArea, int lgth, } /** - * \brief Modifies the value of a given Header Entry (Dicom Element) + * \brief Modifies the value of a given Doc Entry (Dicom Element) * when it exists. Creates it when unexistant. * @param group Group number of the Entry * @param elem Element number of the Entry @@ -382,7 +382,7 @@ BinEntry *DocEntrySet::InsertBinEntry(uint8_t *binArea, int lgth, SeqEntry *DocEntrySet::InsertSeqEntry(uint16_t group, uint16_t elem) { SeqEntry *seqEntry = 0; - DocEntry *currentEntry = GetDocEntry( group, elem); + DocEntry *currentEntry = GetDocEntry( group, elem ); // Verify the currentEntry if( currentEntry ) @@ -391,15 +391,14 @@ SeqEntry *DocEntrySet::InsertSeqEntry(uint16_t group, uint16_t elem) // Verify the VR if( seqEntry ) - if( seqEntry->GetVR()!="SQ" ) - seqEntry = NULL; + seqEntry = NULL; - // if currentEntry doesn't correspond to the requested valEntry + // if currentEntry doesn't correspond to the requested seqEntry if( !seqEntry ) { if (!RemoveEntry(currentEntry)) { - gdcmVerboseMacro( "Removal of previous DocEntry failed."); + gdcmWarningMacro( "Removal of previous DocEntry failed."); return NULL; } @@ -412,14 +411,19 @@ SeqEntry *DocEntrySet::InsertSeqEntry(uint16_t group, uint16_t elem) if( !AddEntry(seqEntry) ) { - gdcmVerboseMacro( "AddEntry failed allthough this is a creation."); + gdcmWarningMacro( "AddEntry failed allthough this is a creation."); delete seqEntry; return NULL; } } + + // TODO : Find a trick to insert a SequenceDelimitationItem + // in the SeqEntry, at the end. return seqEntry; } + + /** * \brief Checks if a given Dicom Element exists within the H table @@ -449,7 +453,7 @@ ValEntry *DocEntrySet::NewValEntry(uint16_t group,uint16_t elem, ValEntry *newEntry = new ValEntry(dictEntry); if (!newEntry) { - gdcmVerboseMacro( "Failed to allocate ValEntry"); + gdcmWarningMacro( "Failed to allocate ValEntry"); return 0; } return newEntry; @@ -473,7 +477,7 @@ BinEntry *DocEntrySet::NewBinEntry(uint16_t group, uint16_t elem, BinEntry *newEntry = new BinEntry(dictEntry); if (!newEntry) { - gdcmVerboseMacro( "Failed to allocate BinEntry"); + gdcmWarningMacro( "Failed to allocate BinEntry"); return 0; } return newEntry; @@ -494,7 +498,7 @@ SeqEntry* DocEntrySet::NewSeqEntry(uint16_t group, uint16_t elem) SeqEntry *newEntry = new SeqEntry( dictEntry ); if (!newEntry) { - gdcmVerboseMacro( "Failed to allocate SeqEntry"); + gdcmWarningMacro( "Failed to allocate SeqEntry"); return 0; } return newEntry; @@ -533,7 +537,7 @@ DictEntry *DocEntrySet::GetDictEntry(uint16_t group,uint16_t elem) Dict *pubDict = Global::GetDicts()->GetDefaultPubDict(); if (!pubDict) { - gdcmVerboseMacro( "We SHOULD have a default dictionary"); + gdcmWarningMacro( "We SHOULD have a default dictionary"); } else {