X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmObject.h;h=7e842e0035b7c8ed4c3e90029b411503efd2dc84;hb=31bb4e18ba6804c0d83fc34f11e89adc67271ea9;hp=0c745e0a5db64f89e9113249b7d500e63be6d740;hpb=bc3e7a63638ffb3aa7460bf579ae65002ac6770c;p=gdcm.git diff --git a/src/gdcmObject.h b/src/gdcmObject.h index 0c745e0a..7e842e00 100644 --- a/src/gdcmObject.h +++ b/src/gdcmObject.h @@ -8,36 +8,98 @@ #include "gdcmCommon.h" #include "gdcmHeaderEntry.h" #include "gdcmParser.h" - +#include "gdcmDicomDirElement.h" //----------------------------------------------------------------------------- class gdcmObject; typedef std::list ListContent; //----------------------------------------------------------------------------- +/** + * \ingroup gdcmObject + * \brief Base object + */ class GDCM_EXPORT gdcmObject { public: - gdcmObject(ListTag::iterator begin,ListTag::iterator end); - ~gdcmObject(void); - - void SetPrintLevel(int level) { printLevel = level; }; + /** + * \ingroup gdcmParser + * \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; }; 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); - ListTag::iterator debut(void) { return(beginObj);} - ListTag::iterator fin (void) { return(endObj); } + 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 + */ + ListTag::iterator fin (void) + { return(endObj); } + protected: - + // constructor and destructor are protected to avoid end user to instanciate this class. + gdcmObject(ListTag::iterator begin,ListTag::iterator end, + TagHeaderEntryHT *ptagHT, ListTag *plistEntries); + virtual ~gdcmObject(void); + + 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 detail level to be printed +*/ int printLevel; + + /** + * \brief used to pass variables to FillObject function + * Works as 'global' variable + */ + std::list::iterator debInsertion, finInsertion, i,j; private: + }; //-----------------------------------------------------------------------------