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);
26 * \brief Sets the print level for the Dicom Header
27 * \note 0 for Light Print; 1 for 'medium' Print, 2 for Heavy
29 void SetPrintLevel(int level)
30 { printLevel = level; };
31 virtual void Print(std::ostream &os = std::cout);
33 std::string GetEntryByNumber(guint16 group, guint16 element);
34 std::string GetEntryByName(TagName name);
35 bool SetEntryByNumber(std::string val,guint16 group,guint16 element);
37 TagHeaderEntryHT GetEntry(void);
38 ListTag GetListEntry(void);
40 void ResetBoundaries(int flag);
43 * \brief returns an iterator on the first Header Entry (i.e Dicom Element),
44 * inside the DICOMDIR chained list,
45 * related to this 'Object'
48 ListTag::iterator debut(void)
52 * \brief returns an iterator on the last Header Entry (i.e Dicom Element),
53 * inside the DICOMDIR chained list,
54 * related to this 'Object'
57 ListTag::iterator fin (void)
62 * \brief Sets the iterator on the 'new' last Header Entry (i.e Dicom Element),
63 * inside the DICOMDIR chained list,
64 * related to this 'Object'
65 * \warning : NOT end user intended function
66 * \todo find a trick to make this function useless.
69 ListTag::iterator SetEndObj(ListTag::iterator newEnd)
74 void FillObject(std::list<gdcmElement> elemList);
77 * \brief iterator on the first Header Entry (i.e Dicom Element),
78 * inside the DICOMDIR chained list,
79 * related to this 'Object'
81 ListTag::iterator beginObj;
83 * \brief iterator on the last Header Entry (i.e Dicom Element),
84 * inside the DICOMDIR chained list,
85 * related to this 'Object'
87 ListTag::iterator endObj;
89 * \brief pointer to the HTable of the gdcmParser,
90 * (because we don't know it within any gdcmObject)
92 TagHeaderEntryHT *ptagHT;
94 * \brief pointer to the Chained List of the gdcmParser,
95 * (because we don't know it within any gdcmObject)
97 ListTag *plistEntries;
103 /// used to pass variables to FillObject function
104 /// Work as 'global' variables
105 std::list<gdcmHeaderEntry *>::iterator debInsertion, finInsertion, i,j;
111 //-----------------------------------------------------------------------------