Deletes the specified item from the IOD Structure.
#include "Ltdic.h"
static pDICOMIOD LDicomIOD::Delete(pIOD)
Pointer to a DICOMIOD structure that contains the item to be deleted.
Value | Meaning |
---|---|
!NULL | A pointer to an adjacent item. If the item being deleted has a sibling (same level, same parent), following it, the returned pointer will point to this sibling. If the item being deleted does not have a sibling following it, but has a sibling preceding it, the returned pointer points to the preceding sibling. If the item being deleted is an only child, the returned pointer points to the parent. |
NULL | The item being deleted has no siblings and no parent. |
You can remove all items from the IOD Structure using LDicomIOD::Reset.
Since the IOD Structure is stored internally as a tree, the deletion must be carried out as a tree.
When deleting an item from the tree, if the item being deleted has a sibling (same level, same parent), following it, this function returns a pointer to this sibling. If the item being deleted does not have a sibling following it, but has a sibling preceding it, this function returns a pointer to the preceding sibling. If the item being deleted is an only child, this function returns a pointer to the parent. If there is no parent this function returns NULL.
Below are illustrations of these situations:
For the sake of these illustrations, the order of siblings is top to bottom. A preceding sibling is drawn above the sibling it precedes, a following sibling is drawn below the sibling it follows.
NOTE: The numbering of the items of interest is arbitrary, and does not imply order.
In this illustration item 2 will be deleted. Since it has a following sibling, the returned pointer will point to item 3.
In this illustration item 3 will be deleted. Since it does not have a following sibling, but does have a preceding sibling, the returned pointer will point to item 2.
In this illustration item 2 will be deleted. Since it is an only child, the returned pointer will point to the parent, item 1.
In this illustration item 1 will be deleted. Since it has no siblings and no parent, this function will return NULL.
Win32, x64
// This example removes a class from the IOD table.
L_INT LDicomIOD_DeleteExample_1()
{
pDICOMIOD pClass;
pClass = LDicomIOD::FindClass( CLASS_CT_IMAGE_STORAGE);
if (pClass != NULL)
{
LDicomIOD::Delete(pClass);
}
return DICOM_SUCCESS;
}
/* This example removes a module from the IOD table */
L_INT LDicomIOD_DeleteExample_2()
{
pDICOMIOD pModule;
pModule = LDicomIOD::FindModule( CLASS_US_IMAGE_STORAGE, MODULE_GENERAL_STUDY);
if (pModule != NULL)
{
LDicomIOD::Delete(pModule);
}
return DICOM_SUCCESS;
}
/* This example removes an element from the IOD table */
L_INT LDicomIOD_DeleteExample_3()
{
pDICOMIOD pModule;
pDICOMIOD pElement;
pModule = LDicomIOD::FindModule( CLASS_NM_IMAGE_STORAGE, MODULE_PATIENT_STUDY);
if (pModule != NULL)
{
pElement = LDicomIOD::GetChild(pModule);
if (pElement != NULL)
{
LDicomIOD::Delete(pElement);
}
}
return DICOM_SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document