X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmObject.h;h=7e842e0035b7c8ed4c3e90029b411503efd2dc84;hb=1aad11d86fa8d683d4f1a38b6f0483444e67f217;hp=ff560f5584d8063eede55cf7cc91d5bda9b4ca40;hpb=bfbd90327a5e45d972546843b0d9e4185e16cb24;p=gdcm.git diff --git a/src/gdcmObject.h b/src/gdcmObject.h index ff560f55..7e842e00 100644 --- a/src/gdcmObject.h +++ b/src/gdcmObject.h @@ -8,31 +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); + + 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: + }; //-----------------------------------------------------------------------------