LDicomIOD::Delete

#include "Ltdic.h"

static pDICOMIOD LDicomIOD::Delete(pIOD)

Deletes the specified item from the IOD Structure.

Parameters

pDICOMIOD pIOD

Pointer to a DICOMIOD structure that contains the item to be deleted.

Returns

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.

Comments

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.

image\IODDlAft.gif

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.

image\IODDlBef.gif

In this illustration item 2 will be deleted. Since it is an only child, the returned pointer will point to the parent, item 1.

image\IODDlPar.gif

In this illustration item 1 will be deleted. Since it has no siblings and no parent, this function will return NULL.

image\IODDlNul.gif

Required DLLs and Libraries

Platforms

Win32, x64

See Also

Functions

Topics

Example

// 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 Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.