←Select platform

GetNext Method

Summary
Returns a the item in the IOD Structure that immediately follows the specified item.
Syntax
C#
Objective-C
C++/CLI
Java
public DicomIod GetNext( 
   DicomIod iod, 
   bool tree 
) 
- (nullable LTDicomIod *)next:(LTDicomIod *)iod tree:(BOOL)tree; 
public DicomIod getNext(DicomIod iod, boolean tree) 
public: 
DicomIod^ GetNext(  
   DicomIod^ iod, 
   bool tree 
)  

Parameters

iod
An item in the IOD Structure.

tree
true to evaluate the IOD Structure as a tree, false to evaluate the IOD Structure as a list.

Return Value

DicomIod class that contains the item in the IOD Structure that immediately follows the item specified in iod.

Remarks

If the IOD Structure is evaluated as a tree structure, this method returns the next item on the same level as iod with the same parent as iod. Please note that the numbering of the items in this illustration is arbitrary and does not imply order.

getnxttr.gif
If the passed class is : The method returns:
Item 1 Item 2
Item 3 Item 4
Item 5 null
Item 6 Item 7

If the IOD Structure is evaluated as a list, the previous item in the list is returned. Please note that the numbering of the items in this illustration does indicate the order of the items when the IOD Structure is evaluated as a list.

getntlst.gif
If the passed class is : The method returns:
Item 14 Item 15
Item 4 Item 5
Item 8 Item 9
Item 19 Item 20
Item 27 item 28
Item 30 null

The following methods will also help you navigate the IOD Structure as either a tree or a list:

If you evaluate the IOD Structure as a tree, you can also use the following methods to navigate the tree:

Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void RecursiveReadIOD(DicomIod parentIOD) 
{ 
   DicomIod iod; 
   if (parentIOD == null) 
   { 
      iod = DicomIodTable.Instance.GetFirst(null, true); 
   } 
   else 
   { 
      iod = DicomIodTable.Instance.GetChild(parentIOD); 
   } 
 
   while (iod != null) 
   { 
      // Over here we can show the information about this IOD such as  
      // DicomIod.Name, DicomIod.Type, DicomIod.Usage and DicomIod.Description 
      if (DicomIodTable.Instance.GetChild(iod) != null) 
      { 
         RecursiveReadIOD(iod); 
      } 
      iod = DicomIodTable.Instance.GetNext(iod, true); 
   } 
} 
void TestIODTable() 
{ 
   //Make sure to initialize the DICOM engine, this needs to be done only once. 
   DicomEngine.Startup(); 
 
   //We don't need to call this since the DicomEngine.Startup already does that for us 
   //These calls are for demonstration purposes only 
   DicomIodTable.Instance.Reset(); 
   DicomIodTable.Instance.Default(); 
 
   // We can find the number of modules in any class 
   int moduleCount = DicomIodTable.Instance.GetModuleCount(DicomClassType.SCImageStorage); 
 
   // We can in here call any of the Find methods including FindModule and FindModuleByIndex, 
   // in this sample we are searching for a DICOM class, this is why we are using FindClass 
   DicomIod iod = DicomIodTable.Instance.FindClass(DicomClassType.SCImageStorage); 
 
   // We can get the name of the IOD 
   string name = iod.ToString(); 
 
   DicomIodTable.Instance.Delete(iod); 
 
   DicomIod iod1 = DicomIodTable.Instance.Insert(null, false, DicomClassType.SCImageStorage, "Secondary Capture Image Storage", DicomIodType.Class, DicomIodUsageType.MandatoryModule, "Description of the class goes in here"); 
   Debug.Assert(DicomIodTable.Instance.Exists(iod1) == true); 
   DicomIodTable.Instance.SetName(iod1, "Secondary Capture Image Storage 1"); 
 
   //Go through all the IODs in the IOD table 
   RecursiveReadIOD(null); 
 
   DicomEngine.Shutdown(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.8.20
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.