DCMTK  Version 3.6.6
OFFIS DICOM Toolkit
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
DSRTemplateCommon Class Reference

Class managing common information on an SR template. More...

+ Inheritance diagram for DSRTemplateCommon:

Public Member Functions

virtual void clear ()
 clear non-static member variables
 
virtual OFBool hasTemplateIdentification () const
 check whether template identification is set More...
 
virtual OFBool isTemplateIdentificationValid (const OFBool check=OFTrue) const
 check whether template identification is valid More...
 
virtual OFBool isExtensible () const
 check whether template is extensible More...
 
virtual OFBool isOrderSignificant () const
 check whether the order of content items in this template is significant More...
 
virtual OFBool compareTemplateIdentication (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="") const
 compare template identification with given values More...
 
const OFStringgetTemplateIdentifier () const
 get template identifier More...
 
const OFStringgetMappingResource () const
 get mapping resource More...
 
const OFStringgetMappingResourceUID () const
 get optional mapping resource UID More...
 
virtual void setExtensible (const OFBool mode=OFTrue)
 change mode specifying whether the template is extensible or non-extensible More...
 
virtual void setOrderSignificant (const OFBool mode=OFTrue)
 change mode specifying whether the order of content items in this template is significant or non-significant More...
 

Protected Member Functions

 DSRTemplateCommon (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="")
 constructor More...
 
virtual ~DSRTemplateCommon ()
 destructor
 
void clearEntriesInNodeList ()
 clear all entries in the list of node IDs, i.e. set them to their initial value, which is 0
 
void reserveEntriesInNodeList (const size_t count, const OFBool initialize=OFFalse)
 reserve a certain number of entries in the list of node IDs. More...
 
void storeEntryInNodeList (const size_t pos, const size_t nodeID)
 store given entry at a certain position in the list of node IDs More...
 
size_t getEntryFromNodeList (const size_t pos) const
 get a particular entry from the list of node IDs More...
 
size_t gotoEntryFromNodeList (DSRDocumentTreeNodeCursor &cursor, const size_t pos) const
 set given cursor to a specific node More...
 
size_t gotoEntryFromNodeList (DSRDocumentSubTree *tree, const size_t pos)
 set internal cursor of a given document tree to a specific node More...
 
size_t gotoLastEntryFromNodeList (DSRDocumentSubTree *tree, const size_t lastPos, const size_t firstPos=0)
 set internal cursor of a given document tree to a particular node. More...
 

Private Attributes

const OFString TemplateIdentifier
 template identifier (VR=CS, mandatory)
 
const OFString MappingResource
 mapping resource (VR=CS, mandatory)
 
const OFString MappingResourceUID
 mapping resource UID (VR=UI, optional)
 
OFBool ExtensibleMode
 mode indicating whether template is extensible (default: false)
 
OFBool OrderSignificantMode
 mode indicating whether the order of content items in this template is significant (default: false)
 
OFVector< size_t > NodeList
 list of node IDs used to remember certain positions in the template
 

Detailed Description

Class managing common information on an SR template.

This class is used as a base class only.

Constructor & Destructor Documentation

◆ DSRTemplateCommon()

DSRTemplateCommon::DSRTemplateCommon ( const OFString templateIdentifier,
const OFString mappingResource,
const OFString mappingResourceUID = "" 
)
protected

constructor

Parameters
templateIdentifieridentifier of the template
mappingResourcemapping resource that defines the template
mappingResourceUIDuniquely identifies the mapping resource (optional)

Member Function Documentation

◆ compareTemplateIdentication()

virtual OFBool DSRTemplateCommon::compareTemplateIdentication ( const OFString templateIdentifier,
const OFString mappingResource,
const OFString mappingResourceUID = "" 
) const
virtual

compare template identification with given values

Parameters
templateIdentifiertemplate identifier to compare with
mappingResourcemapping resource that defines the template
mappingResourceUIDuniquely identifies the mapping resource (optional). Not used for comparison if the value is empty.
Returns
OFTrue if template identification is identical, OFFalse otherwise

◆ getEntryFromNodeList()

size_t DSRTemplateCommon::getEntryFromNodeList ( const size_t  pos) const
protected

get a particular entry from the list of node IDs

Parameters
posindex of the list entry to retrieve (starting from 0)
Returns
node ID that is stored at the given position, 0 if not found or set

◆ getMappingResource()

const OFString& DSRTemplateCommon::getMappingResource ( ) const
inline

get mapping resource

Returns
mapping resource that defines the template

◆ getMappingResourceUID()

const OFString& DSRTemplateCommon::getMappingResourceUID ( ) const
inline

get optional mapping resource UID

Returns
unique identifier of the mapping resource (might be empty)

◆ getTemplateIdentifier()

const OFString& DSRTemplateCommon::getTemplateIdentifier ( ) const
inline

get template identifier

Returns
identifier of the template

◆ gotoEntryFromNodeList() [1/2]

size_t DSRTemplateCommon::gotoEntryFromNodeList ( DSRDocumentSubTree tree,
const size_t  pos 
)
protected

set internal cursor of a given document tree to a specific node

Parameters
treepointer to document tree where nodes and cursor are stored
posindex of the list entry that stores the ID of the node
Returns
ID of the new current node within the tree if successful, 0 otherwise

◆ gotoEntryFromNodeList() [2/2]

size_t DSRTemplateCommon::gotoEntryFromNodeList ( DSRDocumentTreeNodeCursor cursor,
const size_t  pos 
) const
protected

set given cursor to a specific node

Parameters
cursorreference to document tree node cursor that is used to start searching the node from and that is set afterwards
posindex of the list entry that stores the ID of the node
Returns
ID of the new current node within the tree if successful, 0 otherwise

◆ gotoLastEntryFromNodeList()

size_t DSRTemplateCommon::gotoLastEntryFromNodeList ( DSRDocumentSubTree tree,
const size_t  lastPos,
const size_t  firstPos = 0 
)
protected

set internal cursor of a given document tree to a particular node.

The node is determined from the list of node IDs, starting from the entry specified by the parameter 'lastPos'. The reverse search stops if either an entry with a non-zero value (valid node ID) is found or the first list entry is reached. This approach in particular supports handling of template tables where the order of content items is significant.

Parameters
treepointer to document tree where nodes and cursor are stored
lastPosindex of the last node list entry to start searching from
firstPosoptional index of the node list entry to stop searching
Returns
ID of the new current node within the tree if successful, 0 otherwise

◆ hasTemplateIdentification()

virtual OFBool DSRTemplateCommon::hasTemplateIdentification ( ) const
virtual

check whether template identification is set

Returns
OFTrue if set, OFFalse otherwise

◆ isExtensible()

virtual OFBool DSRTemplateCommon::isExtensible ( ) const
inlinevirtual

check whether template is extensible

Returns
OFTrue if extensible, OFFalse otherwise

◆ isOrderSignificant()

virtual OFBool DSRTemplateCommon::isOrderSignificant ( ) const
inlinevirtual

check whether the order of content items in this template is significant

Returns
OFTrue if order is significant, OFFalse otherwise

◆ isTemplateIdentificationValid()

virtual OFBool DSRTemplateCommon::isTemplateIdentificationValid ( const OFBool  check = OFTrue) const
virtual

check whether template identification is valid

Parameters
checkcheck internally stored values for conformance with VR and VM if enabled
Returns
OFTrue if valid, OFFalse otherwise

◆ reserveEntriesInNodeList()

void DSRTemplateCommon::reserveEntriesInNodeList ( const size_t  count,
const OFBool  initialize = OFFalse 
)
protected

reserve a certain number of entries in the list of node IDs.

Using this method can help to avoid unwanted memory allocations and copying of list entries.

Parameters
countnumber of entries to be reserved (for later use)
initializeinitialize all entries with a value of 0 if OFTrue, just reserve but do not create them otherwise (default)

◆ setExtensible()

virtual void DSRTemplateCommon::setExtensible ( const OFBool  mode = OFTrue)
inlinevirtual

change mode specifying whether the template is extensible or non-extensible

Parameters
modeset template type to extensible if OFTrue (default)

◆ setOrderSignificant()

virtual void DSRTemplateCommon::setOrderSignificant ( const OFBool  mode = OFTrue)
inlinevirtual

change mode specifying whether the order of content items in this template is significant or non-significant

Parameters
modeset order of content items to significant if OFTrue (default)

◆ storeEntryInNodeList()

void DSRTemplateCommon::storeEntryInNodeList ( const size_t  pos,
const size_t  nodeID 
)
protected

store given entry at a certain position in the list of node IDs

Parameters
posindex of the list entry to use for storage (starting from 0)
nodeIDID of the node that should be stored at the given position

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


Generated on Thu Jan 14 2021 for DCMTK Version 3.6.6 by Doxygen 1.8.18