X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDir.cxx;h=17da13ee9e5aebf45bb5bc7c44590a3e3c163607;hb=bf254f32ff1391a5da3ccc13b0aaba4446ee60a6;hp=8e36662494d9e5c786ac6a7d0c25046d8fe8c0b7;hpb=249df4735f1fab52f49a6e75ff6602ef4ab14ee6;p=gdcm.git diff --git a/src/gdcmDicomDir.cxx b/src/gdcmDicomDir.cxx index 8e366624..17da13ee 100644 --- a/src/gdcmDicomDir.cxx +++ b/src/gdcmDicomDir.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDir.cxx,v $ Language: C++ - Date: $Date: 2005/10/21 12:12:55 $ - Version: $Revision: 1.163 $ + Date: $Date: 2005/10/25 09:22:15 $ + Version: $Revision: 1.166 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -125,18 +125,18 @@ DicomDir::DicomDir() } #ifndef GDCM_LEGACY_REMOVE -/** - * \brief Constructor Parses recursively the directory and creates the DicomDir +/* * + * \ brief Constructor Parses recursively the directory and creates the DicomDir * or uses an already built DICOMDIR, depending on 'parseDir' value. - * @param fileName name + * @ param fileName name * - of the root directory (parseDir = true) * - of the DICOMDIR (parseDir = false) - * @param parseDir boolean + * @ param parseDir boolean * - true if user passed an entry point * and wants to explore recursively the directories * - false if user passed an already built DICOMDIR file * and wants to use it - * @deprecated use : new DicomDir() + [ SetLoadMode(lm) + ] SetDirectoryName(name) + * @ deprecated use : new DicomDir() + [ SetLoadMode(lm) + ] SetDirectoryName(name) * or : new DicomDir() + SetFileName(name) */ DicomDir::DicomDir(std::string const &fileName, bool parseDir ): @@ -190,12 +190,12 @@ bool DicomDir::Load( ) } #ifndef GDCM_LEGACY_REMOVE -/** - * \brief Loader. (DEPRECATED : kept not to break the API) - * @param fileName file to be open for parsing - * @return false if file cannot be open or no swap info was found, +/* * + * \ brief Loader. (DEPRECATED : kept not to break the API) + * @ param fileName file to be open for parsing + * @ return false if file cannot be open or no swap info was found, * or no tag was found. - * @deprecated use SetFileName(n) + Load() instead + * @ deprecated use SetFileName(n) + Load() instead */ bool DicomDir::Load(std::string const &fileName ) { @@ -319,8 +319,8 @@ DicomDirMeta *DicomDir::NewMeta() if ( dynamic_cast(entry) ) break; - RemoveEntryNoDestroy(entry); MetaElems->AddEntry(entry); + RemoveEntry(entry); entry = GetFirstEntry(); } @@ -737,6 +737,7 @@ void DicomDir::CreateDicomDir() // 3 - we find an other tag // + we create the object for the precedent tag // + loop to 1 - + gdcmDebugMacro("Create DicomDir"); // Directory record sequence DocEntry *e = GetDocEntry(0x0004, 0x1220); @@ -1092,8 +1093,7 @@ void DicomDir::SetElement(std::string const &path, DicomDirType type, tmpEl = it->Elem; dictEntry = GetPubDict()->GetEntry(tmpGr, tmpEl); - entry = new DataEntry( dictEntry ); // Be sure it's never a DataEntry ! - + entry = DataEntry::New( dictEntry ); entry->SetOffset(0); // just to avoid further missprinting if ( header ) @@ -1144,6 +1144,7 @@ void DicomDir::SetElement(std::string const &path, DicomDirType type, gdcmWarningMacro("GDCM_DICOMDIR_META ?!? should never print that"); } si->AddEntry(entry); + entry->Delete(); } } @@ -1160,7 +1161,7 @@ void DicomDir::MoveSQItem(DocEntrySet *dst,DocEntrySet *src) entry = src->GetFirstEntry(); while(entry) { - src->RemoveEntryNoDestroy(entry); + src->RemoveEntry(entry); dst->AddEntry(entry); // we destroyed -> the current iterator is not longer valid entry = src->GetFirstEntry();