OFFIS DCMTK  Version 3.6.0
dsrtncsr.h
1 /*
2  *
3  * Copyright (C) 2000-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmsr
15  *
16  * Author: Joerg Riesmeier
17  *
18  * Purpose:
19  * classes: DSRTreeNodeCursor
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:33 $
23  * CVS/RCS Revision: $Revision: 1.13 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRTNCSR_H
32 #define DSRTNCSR_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/ofstd/ofstring.h"
37 #include "dcmtk/ofstd/ofstack.h"
38 #include "dcmtk/ofstd/oflist.h"
39 
40 
41 /*-----------------------*
42  * forward declaration *
43  *-----------------------*/
44 
45 class DSRTreeNode;
46 
47 
48 /*-------------------*
49  * type definition *
50  *-------------------*/
51 
52 // this typedef is needed to avoid a warning on Sun CC 2.0.1
54 
55 
56 /*---------------------*
57  * class declaration *
58  *---------------------*/
59 
63 {
64 
65  public:
66 
70 
74  DSRTreeNodeCursor(const DSRTreeNodeCursor &cursor);
75 
80 
83  virtual ~DSRTreeNodeCursor();
84 
90 
96 
99  virtual void clear();
100 
104  virtual OFBool isValid() const;
105 
109  inline DSRTreeNode *getNode() const
110  {
111  return NodeCursor;
112  }
113 
118  const DSRTreeNode *getParentNode();
119 
124  const DSRTreeNode *getNextNode() const;
125 
129  size_t gotoPrevious();
130 
134  size_t gotoNext();
135 
139  size_t goUp();
140 
144  size_t goDown();
145 
151  size_t iterate(const OFBool searchIntoSub = OFTrue);
152 
157  size_t gotoNode(const size_t searchID);
158 
166  size_t gotoNode(const OFString &position,
167  const char separator = '.');
168 
174  size_t getNodeID() const;
175 
180  size_t getLevel() const;
181 
193  const OFString &getPosition(OFString &position,
194  const char separator = '.') const;
195 
196 
197  protected:
198 
201  void clearNodeCursorStack();
202 
208  size_t setCursor(DSRTreeNode *node);
209 
214 
216  size_t Position;
219 };
220 
221 
222 #endif
223 
224 
225 /*
226  * CVS/RCS Log:
227  * $Log: dsrtncsr.h,v $
228  * Revision 1.13 2010-10-14 13:16:33 joergr
229  * Updated copyright header. Added reference to COPYRIGHT file.
230  *
231  * Revision 1.12 2005-12-08 16:05:28 meichel
232  * Changed include path schema for all DCMTK header files
233  *
234  * Revision 1.11 2005/07/27 16:36:14 joergr
235  * Added flag to iterate() method indicating whether to perform a "deep search".
236  *
237  * Revision 1.10 2003/08/07 12:55:46 joergr
238  * Updated documentation to get rid of doxygen warnings.
239  *
240  * Revision 1.9 2001/12/18 09:55:06 meichel
241  * Introduced typedef to avoid warning on Sun CC 2.0.1
242  *
243  * Revision 1.8 2001/03/28 09:06:56 joergr
244  * Fixed bug in cycle/loop detection "algorithm".
245  *
246  * Revision 1.7 2000/11/09 20:32:08 joergr
247  * Added support for non-ASCII characters in HTML 3.2 (use numeric value).
248  *
249  * Revision 1.6 2000/11/07 18:14:31 joergr
250  * Enhanced support for by-reference relationships.
251  *
252  * Revision 1.5 2000/10/26 14:20:49 joergr
253  * Generalized routine to get and search for position strings ("1.2.3").
254  *
255  * Revision 1.4 2000/10/18 17:09:06 joergr
256  * Made some functions inline.
257  *
258  * Revision 1.3 2000/10/16 16:31:08 joergr
259  * Updated comments.
260  *
261  * Revision 1.2 2000/10/16 11:57:00 joergr
262  * Added doc++ comments.
263  *
264  * Revision 1.1 2000/10/13 07:49:34 joergr
265  * Added new module 'dcmsr' providing access to DICOM structured reporting
266  * documents (supplement 23). Doc++ documentation not yet completed.
267  *
268  *
269  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2