2 //-----------------------------------------------------------------------------
8 #include "gdcmCommon.h"
9 #include "gdcmHeaderEntry.h"
10 #include "gdcmParser.h"
11 #include "gdcmDicomDirElement.h"
12 //-----------------------------------------------------------------------------
14 typedef std::list<gdcmObject *> ListContent;
16 //-----------------------------------------------------------------------------
17 class GDCM_EXPORT gdcmObject
20 gdcmObject(ListTag::iterator begin,ListTag::iterator end,
21 TagHeaderEntryHT *ptagHT, ListTag *plistEntries);
24 void SetPrintLevel(int level) { printLevel = level; };
25 virtual void Print(std::ostream &os = std::cout);
27 std::string GetEntryByNumber(guint16 group, guint16 element);
28 std::string GetEntryByName(TagName name);
29 bool SetEntryByNumber(std::string val,guint16 group,guint16 element);
31 TagHeaderEntryHT GetEntry(void);
32 ListTag GetListEntry(void);
35 * \brief returns an iterator on the first Header Entry (i.e Dicom Element),
36 * inside the DICOMDIR chained list,
37 * related to this 'Object'
40 ListTag::iterator debut(void)
44 * \brief returns an iterator on the last Header Entry (i.e Dicom Element),
45 * inside the DICOMDIR chained list,
46 * related to this 'Object'
49 ListTag::iterator fin (void)
54 void FillObject(std::list<gdcmElement> elemList);
57 * \brief iterator on the first Header Entry (i.e Dicom Element),
58 * inside the DICOMDIR chained list,
59 * related to this 'Object'
61 ListTag::iterator beginObj;
63 * \brief iterator on the last Header Entry (i.e Dicom Element),
64 * inside the DICOMDIR chained list,
65 * related to this 'Object'
67 ListTag::iterator endObj;
69 * \brief pointer to the HTable of the gdcmParser,
70 * (because we don't know it within any gdcmObject)
72 TagHeaderEntryHT *ptagHT;
74 * \brief pointer to the Chained List of the gdcmParser,
75 * (because we don't know it within any gdcmObject)
77 ListTag *plistEntries;
83 /// used to pass variables to FillObject function
84 /// Work as 'global' variables
85 std::list<gdcmHeaderEntry *>::iterator debInsertion, finInsertion, i,j;
91 //-----------------------------------------------------------------------------