X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmObject.cxx;h=d5f2848f5073881b54c00d26458b3aaad22322aa;hb=332835b05f78803ae6d2e92cf95c25548a229532;hp=25cba3b529467488347a2d931d5401dbc93eed43;hpb=30d2b02b938fe912d866b40ca2b9842961481ab2;p=gdcm.git diff --git a/src/gdcmObject.cxx b/src/gdcmObject.cxx index 25cba3b5..d5f2848f 100644 --- a/src/gdcmObject.cxx +++ b/src/gdcmObject.cxx @@ -1,5 +1,21 @@ -// gdcmObject.cxx -//----------------------------------------------------------------------------- +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmObject.cxx,v $ + Language: C++ + Date: $Date: 2004/08/01 00:59:21 $ + Version: $Revision: 1.24 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + #include "gdcmObject.h" #include "gdcmGlobal.h" #include "gdcmDebug.h" @@ -12,12 +28,13 @@ * * @param ptagHT pointer to the HTable (gdcmObject needs it * to build the gdcmDocEntries) - * @param depth Seaquence depth level + * @param depth Sequence depth level */ gdcmObject::gdcmObject(TagDocEntryHT *ptagHT, int depth) - : gdcmSQItem (depth) { - this->ptagHT = ptagHT; + : gdcmSQItem (depth) +{ + PtagHT = ptagHT; } @@ -25,7 +42,8 @@ gdcmObject::gdcmObject(TagDocEntryHT *ptagHT, int depth) * \ingroup gdcmObject * \brief Canonical destructor. */ -gdcmObject::~gdcmObject(void) { +gdcmObject::~gdcmObject() +{ } @@ -41,85 +59,65 @@ gdcmObject::~gdcmObject(void) { * related to this 'object' * @return */ -TagDocEntryHT gdcmObject::GetEntry(void) { +TagDocEntryHT gdcmObject::GetEntry() +{ TagDocEntryHT HT; docEntries=GetDocEntries(); - for(ListDocEntry::iterator i=docEntries.begin();i!=docEntries.end();++i) { + for(ListDocEntry::iterator i = docEntries.begin(); + i != docEntries.end(); ++i) + { HT[(*i)->GetKey()]=*i; } - return(HT); -} - -/** - * \ingroup gdcmObject - * \brief Builds a Chained List containing - * pointers to all Header Entries (i.e Dicom Element) - * related to this 'object' - * @return - */ - - // FIXME : what was it used for ?!? - /* -ListTag gdcmObject::GetListEntry(void) { - return(GetDocEntries()); + return HT; } -*/ //----------------------------------------------------------------------------- // Protected /** - * \ingroup gdcmObject * \brief add the 'Object' related Dicom Elements to the listEntries * of a partially created DICOMDIR */ -void gdcmObject::FillObject(std::list elemList) { - +void gdcmObject::FillObject(std::list elemList) +{ // FillObject rempli le SQItem qui sera accroche au bon endroit std::list::iterator it; - guint16 tmpGr,tmpEl; + uint16_t tmpGr,tmpEl; gdcmDictEntry *dictEntry; gdcmValEntry *entry; - - //gdcmSQItem *s = new gdcmSQItem; - + // for all the Elements found in they own part of the DicomDir dict. - for(it=elemList.begin();it!=elemList.end();++it) + for(it = elemList.begin(); it != elemList.end(); ++it) { - tmpGr=it->group; - tmpEl=it->elem; - dictEntry=gdcmGlobal::GetDicts()->GetDefaultPubDict()->GetDictEntryByNumber(tmpGr,tmpEl); - entry=new gdcmValEntry(dictEntry); + tmpGr = it->group; + tmpEl = it->elem; + dictEntry = gdcmGlobal::GetDicts()->GetDefaultPubDict()->GetDictEntryByNumber(tmpGr,tmpEl); + entry = new gdcmValEntry(dictEntry); entry->SetOffset(0); // just to avoid further missprinting entry->SetValue(it->value); // dealing with value length ... if(dictEntry->GetGroup()==0xfffe) - { - entry->SetLength(entry->GetValue().length()); - } - else if( (dictEntry->GetVR()=="UL") || (dictEntry->GetVR()=="SL") ) - { - entry->SetLength(4); - } - else if( (dictEntry->GetVR()=="US") || (dictEntry->GetVR()=="SS") ) - { - entry->SetLength(2); - } - else if(dictEntry->GetVR()=="SQ") - { - entry->SetLength(0xffffffff); - } + { + entry->SetLength(entry->GetValue().length()); + } + else if( dictEntry->GetVR() == "UL" || dictEntry->GetVR() == "SL" ) + { + entry->SetLength(4); + } + else if( dictEntry->GetVR() == "US" || dictEntry->GetVR() == "SS" ) + { + entry->SetLength(2); + } + else if( dictEntry->GetVR() == "SQ" ) + { + entry->SetLength(0xffffffff); + } else - { - entry->SetLength(entry->GetValue().length()); - } - //docEntries->insert(debInsertion ,entry); // ??? // add at the begining of the Patient list - AddDocEntry(entry); + { + entry->SetLength(entry->GetValue().length()); + } + AddDocEntry(entry); } } -//----------------------------------------------------------------------------- -// Private - -//-----------------------------------------------------------------------------