DCMTK: DSRDocumentTreeNodeCursor Class Reference

DCMTK Version 3.6.9 OFFIS DICOM Toolkit

Loading...
Searching...
No Matches
Public Member Functions | List of all members
DSRDocumentTreeNodeCursor Class Reference

Class implementing a document tree node cursor. More...

Inheritance diagram for DSRDocumentTreeNodeCursor:

## Public Member Functions
| DSRDocumentTreeNodeCursor ()
| default constructor
| DSRDocumentTreeNodeCursor (const DSRDocumentTreeNodeCursor &cursor)
| copy constructor
| DSRDocumentTreeNodeCursor (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
| copy constructor (for base class)
| DSRDocumentTreeNodeCursor (DSRDocumentTreeNode *node, const DSRPositionCounter *position=NULL)
| constructor.
virtual | ~DSRDocumentTreeNodeCursor ()
| destructor
DSRDocumentTreeNodeCursor & | operator= (const DSRDocumentTreeNodeCursor &cursor)
| assignment operator
DSRDocumentTreeNodeCursor & | operator= (DSRDocumentTreeNode *node)
| assignment operator.
virtual size_t | gotoMatchingNode (const DSRDocumentTreeNodeFilter &filter, const OFBool searchIntoSub=OFTrue)
| set internal cursor to a matching node (starting from current position).
virtual size_t | gotoNextMatchingNode (const DSRDocumentTreeNodeFilter &filter, const OFBool searchIntoSub=OFTrue)
| set internal cursor to the next matching node.
Public Member Functions inherited from DSRTreeNodeCursor< DSRDocumentTreeNode >
| DSRTreeNodeCursor ()
| default constructor
| DSRTreeNodeCursor (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
| copy constructor
| DSRTreeNodeCursor (DSRDocumentTreeNode *node, const DSRPositionCounter *position=NULL)
| constructor.
virtual | ~DSRTreeNodeCursor ()
| destructor
DSRTreeNodeCursor< DSRDocumentTreeNode > & | operator= (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
| assignment operator
DSRTreeNodeCursor< DSRDocumentTreeNode > & | operator= (DSRDocumentTreeNode *node)
| assignment operator.
virtual void | clear ()
| clear all member variables.
virtual OFBool | isValid () const
| check whether cursor currently points to a valid node
virtual size_t | countChildNodes (const OFBool searchIntoSub=OFTrue) const
| count number of children of the current node.
OFBool | hasParentNode () const
| check whether the current node has a parent
OFBool | hasChildNodes () const
| check whether the current node has any children
OFBool | hasPreviousNode () const
| check whether the current node has a preceding sibling
OFBool | hasNextNode () const
| check whether the current node has a following sibling
OFBool | hasSiblingNodes () const
| check whether the current node has any siblings
virtual DSRDocumentTreeNode * | getNode () const
| get pointer to current node
virtual const DSRDocumentTreeNode * | getParentNode () const
| get pointer to parent node.
virtual const DSRDocumentTreeNode * | getChildNode () const
| get pointer to first child node.
virtual const DSRDocumentTreeNode * | getPreviousNode () const
| get pointer to previous node.
virtual const DSRDocumentTreeNode * | getNextNode () const
| get pointer to next node.
virtual size_t | gotoFirst ()
| goto first node on the same level (first sibling).
virtual size_t | gotoLast ()
| goto last node on the same level (last sibling).
virtual size_t | gotoPrevious ()
| goto previous node on the same level (preceding sibling)
virtual size_t | gotoNext ()
| goto next node on the same level (following sibling)
virtual size_t | goUp ()
| goto parent node (one level up)
virtual size_t | goDown ()
| goto first child node (one level down)
virtual size_t | gotoParent ()
| goto parent node (one level up)
virtual size_t | gotoChild ()
| goto first child node (one level down)
virtual size_t | iterate (const OFBool searchIntoSub=OFTrue)
| iterate over all nodes (starting from current position!)
size_t | gotoNode (const size_t searchID)
| set cursor to specified node.
size_t | gotoNode (const OFString &position, const char separator='.')
| set cursor to specified node.
size_t | gotoNode (const DSRTreeNodeAnnotation &annotation)
| set cursor to specified node.
size_t | gotoNode (const DSRDocumentTreeNode &nodeValue)
| set cursor to specified node.
size_t | getNodeID () const
| get current node ID.
size_t | getLevel () const
| get current level.
DSRPositionCounter & | getPositionCounter ()
| get reference to internal position counter.
const OFString & | getPosition (OFString &position, const char separator='.') const
| get position string of the current node.

## Additional Inherited Members
Protected Member Functions inherited from DSRTreeNodeCursor< DSRDocumentTreeNode >
void | swap (DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
| fast, non-throwing swap function.
void | clearNodeCursorStack ()
| clear the internal node cursor stack
const DSRTreeNodeCursor< DSRDocumentTreeNode > & | getCursor () const
| get cursor
void | setCursor (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
| set cursor to specified object
size_t | setCursor (DSRDocumentTreeNode *node)
| set cursor to specified node.
DSRDocumentTreeNode * | getChild () const
| get pointer to first child node
Protected Attributes inherited from DSRTreeNodeCursor< DSRDocumentTreeNode >
DSRDocumentTreeNode * | NodeCursor
| pointer to current node
OFStack< DSRDocumentTreeNode * > | NodeCursorStack
| stack of node pointers. Used to store the cursor position of upper levels.
DSRPositionCounter | Position
| counter for the current position within the current level and on upper levels

## Detailed Description

Class implementing a document tree node cursor.

Included sub-templates are not supported by this type of cursor, i.e. the subtree that is managed by an instance of DSRIncludedTemplateTreeNode is not iterated.

## Constructor & Destructor Documentation

## ◆ DSRDocumentTreeNodeCursor() [1/3]

DSRDocumentTreeNodeCursor::DSRDocumentTreeNodeCursor | ( | const DSRDocumentTreeNodeCursor & | cursor | ) |

copy constructor

Parameters

  cursor | object to be copied

References DSRDocumentTreeNodeCursor().

## ◆ DSRDocumentTreeNodeCursor() [2/3]

DSRDocumentTreeNodeCursor::DSRDocumentTreeNodeCursor | ( | const DSRTreeNodeCursor< DSRDocumentTreeNode > & | cursor | ) |

copy constructor (for base class)

Parameters

  cursor | object to be copied

References DSRTreeNodeCursor< DSRDocumentTreeNode >::DSRTreeNodeCursor().

## ◆ DSRDocumentTreeNodeCursor() [3/3]

DSRDocumentTreeNodeCursor::DSRDocumentTreeNodeCursor | ( | DSRDocumentTreeNode * | node,
|  | const DSRPositionCounter * | position = NULL )

constructor.

See comments on DSRTreeNodeCursor<>::setCursor() method.

Parameters

  node | pointer to tree node used to initialize the cursor
  position | optional pointer to position counter that should be used to initialize the internal counter

## Member Function Documentation

## ◆ gotoMatchingNode()

virtual size_t DSRDocumentTreeNodeCursor::gotoMatchingNode | ( | const DSRDocumentTreeNodeFilter & | filter,
|  | const OFBool | searchIntoSub = OFTrue )
| virtual

set internal cursor to a matching node (starting from current position).

If more than one node exists matching the given filter, the first one will be selected. Use gotoNextMatchingNode() in order to go to the next matching node.

Parameters

  filter | matching criterion based on a single or multiple filters
  searchIntoSub | flag indicating whether to search into sub-trees ("deep search") or on the current level only

Returns
  ID of the new current node if successful, 0 otherwise

## ◆ gotoNextMatchingNode()

virtual size_t DSRDocumentTreeNodeCursor::gotoNextMatchingNode | ( | const DSRDocumentTreeNodeFilter & | filter,
|  | const OFBool | searchIntoSub = OFTrue )
| virtual

set internal cursor to the next matching node.

Starts from "next" node, i.e. either the first child of the current node or the first sibling following the current node.

Parameters

  filter | matching criterion based on a single or multiple filters
  searchIntoSub | flag indicating whether to search into sub-trees ("deep search") or on the current level only

Returns
  ID of the new current node if successful, 0 otherwise

## ◆ operator=() [1/2]

DSRDocumentTreeNodeCursor & DSRDocumentTreeNodeCursor::operator= | ( | const DSRDocumentTreeNodeCursor & | cursor | ) |

assignment operator

Parameters

  cursor | object to be copied

Returns
  reference to modified cursor (this object)

References DSRDocumentTreeNodeCursor().

## ◆ operator=() [2/2]

DSRDocumentTreeNodeCursor & DSRDocumentTreeNodeCursor::operator= | ( | DSRDocumentTreeNode * | node | ) |

assignment operator.

See comments on DSRTreeNodeCursor<>::setCursor() method.

Parameters

  node | node to which the cursor should be set

Returns
  reference to modified cursor (this object)

References DSRDocumentTreeNodeCursor().

The documentation for this class was generated from the following file:

- dcmsr/include/dcmtk/dcmsr/dsrdncsr.h

Generated on Wed Apr 30 2025 for DCMTK Version 3.6.9 by Doxygen 1.13.2