X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmDicomDirStudy.cxx;h=cd3b07c60445c98d4b142c8ea5707e2f2b4bd6d9;hb=43d88e7ca1386013ee755c4eee3dc0519d335ec3;hp=fd8e886bbdaa8b4c07e4a87cc3036de49ac9f350;hpb=22f785a2627d1e7823701193bd7624739a3e033b;p=gdcm.git diff --git a/src/gdcmDicomDirStudy.cxx b/src/gdcmDicomDirStudy.cxx index fd8e886b..cd3b07c6 100644 --- a/src/gdcmDicomDirStudy.cxx +++ b/src/gdcmDicomDirStudy.cxx @@ -1,20 +1,49 @@ -// gdcmDicomDirStudy.cxx -//----------------------------------------------------------------------------- -#include "gdcmDicomDirStudy.h" +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmDicomDirStudy.cxx,v $ + Language: C++ + Date: $Date: 2004/08/26 15:29:52 $ + Version: $Revision: 1.10 $ + + 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 "gdcmDicomDirStudy.h" +#include "gdcmDicomDirElement.h" +#include "gdcmGlobal.h" //----------------------------------------------------------------------------- // Constructor / Destructor + /** * \ingroup gdcmDicomDirStudy - * \brief - * @param begin iterator of begin for the object - * @param end iterator of end for the object + * \brief constructor + * @param s SQ Item holding the elements related to this "STUDY" part + * @param ptagHT pointer to the HTable (gdcmObject needs it + * to build the gdcmHeaderEntries) */ -gdcmDicomDirStudy::gdcmDicomDirStudy(ListTag::iterator begin,ListTag::iterator end): - gdcmObject(begin,end) +gdcmDicomDirStudy::gdcmDicomDirStudy(gdcmSQItem *s, TagDocEntryHT *ptagHT): + gdcmObject(ptagHT) +{ + docEntries = s->GetDocEntries(); +} +/** + * \ingroup gdcmDicomDirStudy + * \brief constructor + * @param ptagHT pointer to the HTable (gdcmObject needs it + * to build the gdcmHeaderEntries) + */ +gdcmDicomDirStudy::gdcmDicomDirStudy(TagDocEntryHT *ptagHT): + gdcmObject(ptagHT) { } - /** * \ingroup gdcmDicomDirStudy * \brief Canonical destructor. @@ -36,12 +65,14 @@ gdcmDicomDirStudy::~gdcmDicomDirStudy() */ void gdcmDicomDirStudy::Print(std::ostream &os) { - os<<"STUDY"<SetPrintLevel(printLevel); + (*cc)->SetPrintLevel(PrintLevel); (*cc)->Print(os); } } @@ -49,6 +80,36 @@ void gdcmDicomDirStudy::Print(std::ostream &os) //----------------------------------------------------------------------------- // Public +/** + * \brief Writes the Object + * @return + */ +void gdcmDicomDirStudy::Write(FILE *fp, FileType t) +{ + gdcmObject::Write(fp, t); + + for(ListDicomDirSerie::iterator cc = series.begin();cc!=series.end();++cc) + { + (*cc)->Write( fp, t ); + } +} + +/** + * \ingroup gdcmDicomStudy + * \brief adds a new Serie at the begining of the SerieList + * of a partially created DICOMDIR + */ +gdcmDicomDirSerie * gdcmDicomDirStudy::NewSerie() +{ + std::list elemList = + gdcmGlobal::GetDicomDirElements()->GetDicomDirSerieElements(); + + gdcmDicomDirSerie *st = new gdcmDicomDirSerie(PtagHT); + FillObject(elemList); + series.push_front(st); + + return st; +} //----------------------------------------------------------------------------- // Protected