X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmObject.h;h=04363a85a1341179f5ad7e47df3f824b1f848278;hb=912de5d1cc942f7386c83d32c5d847ef5bb2bf17;hp=2d49cf3b2be7928478c39e79d13f4813ec0298a8;hpb=9b3db5f141ec2b11eadefaa2ea2a3a20058b37f9;p=gdcm.git diff --git a/src/gdcmObject.h b/src/gdcmObject.h index 2d49cf3b..04363a85 100644 --- a/src/gdcmObject.h +++ b/src/gdcmObject.h @@ -1,105 +1,65 @@ -// gdcmObject.h -//----------------------------------------------------------------------------- +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmObject.h,v $ + Language: C++ + Date: $Date: 2004/08/26 15:29:53 $ + Version: $Revision: 1.19 $ + + 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. + +=========================================================================*/ + #ifndef GDCMOBJECT_H #define GDCMOBJECT_H #include #include #include "gdcmCommon.h" -#include "gdcmHeaderEntry.h" -#include "gdcmParser.h" +#include "gdcmDocEntry.h" +#include "gdcmDocument.h" #include "gdcmDicomDirElement.h" +#include "gdcmSQItem.h" + //----------------------------------------------------------------------------- class gdcmObject; typedef std::list ListContent; //----------------------------------------------------------------------------- -class GDCM_EXPORT gdcmObject -{ -public: - gdcmObject(ListTag::iterator begin,ListTag::iterator end, - TagHeaderEntryHT *ptagHT, ListTag *plistEntries); - ~gdcmObject(void); - - void SetPrintLevel(int level) { printLevel = level; }; - virtual void Print(std::ostream &os = std::cout); - - std::string GetEntryByNumber(guint16 group, guint16 element); - std::string GetEntryByName(TagName name); - bool SetEntryByNumber(std::string val,guint16 group,guint16 element); - - TagHeaderEntryHT GetEntry(void); - ListTag GetListEntry(void); - - void ResetBoundaries(int flag); -/** - * \ingroup gdcmObject - * \brief returns an iterator on the first Header Entry (i.e Dicom Element), - * inside the DICOMDIR chained list, - * related to this 'Object' - * @return - */ - ListTag::iterator debut(void) - { return(beginObj);} /** * \ingroup gdcmObject - * \brief returns an iterator on the last Header Entry (i.e Dicom Element), - * inside the DICOMDIR chained list, - * related to this 'Object' - * @return + * \brief Base object */ - ListTag::iterator fin (void) - { return(endObj); } +class GDCM_EXPORT gdcmObject : public gdcmSQItem +{ +public: -/** - * \ingroup gdcmObject - * \brief Sets the iterator on the 'new' last Header Entry (i.e Dicom Element), - * inside the DICOMDIR chained list, - * related to this 'Object' - * \warning : NOT end user intended function - * \todo find a trick to make this function useless. -* @return - */ - ListTag::iterator SetEndObj(ListTag::iterator newEnd) - { endObj=newEnd; } + gdcmObject(TagDocEntryHT *ptagHT, int depth = 0); + virtual ~gdcmObject(); + /** + * \brief Sets the print level for the Dicom Header + * \note 0 for Light Print; 1 for 'medium' Print, 2 for Heavy + */ + void SetPrintLevel(int level) { PrintLevel = level; }; -protected: - -void FillObject(std::list elemList); + TagDocEntryHT GetEntry(); + void FillObject(std::list elemList); -/** -* \brief iterator on the first Header Entry (i.e Dicom Element), -* inside the DICOMDIR chained list, -* related to this 'Object' -*/ - ListTag::iterator beginObj; -/** -* \brief iterator on the last Header Entry (i.e Dicom Element), -* inside the DICOMDIR chained list, -* related to this 'Object' -*/ - ListTag::iterator endObj; -/** -* \brief pointer to the HTable of the gdcmParser, -* (because we don't know it within any gdcmObject) -*/ - TagHeaderEntryHT *ptagHT; -/** -* \brief pointer to the Chained List of the gdcmParser, -* (because we don't know it within any gdcmObject) -*/ - ListTag *plistEntries; -/** -* \brief -*/ - int printLevel; - -/// used to pass variables to FillObject function -/// Work as 'global' variables - std::list::iterator debInsertion, finInsertion, i,j; +protected: -private: + // Constructor and destructor are protected to avoid end user to + // instanciate from this class. + // NO ! gdcmDicomDir needs to instanciate it! +// Members : + ///\brief detail level to be printed + int PrintLevel; }; //-----------------------------------------------------------------------------