private void BuildWalkQueue(IEnumerable <DicomItem> dataset) { foreach (DicomItem item in dataset) { if (item is DicomElement) { _items.Enqueue(item); } else if (item is DicomFragmentSequence) { DicomFragmentSequence sq = item as DicomFragmentSequence; _items.Enqueue(item); foreach (IByteBuffer fragment in sq) { _items.Enqueue(new DicomFragmentItem(fragment)); } _items.Enqueue(new EndDicomFragment()); } else if (item is DicomSequence) { DicomSequence sq = item as DicomSequence; _items.Enqueue(item); foreach (DicomDataset sqi in sq) { _items.Enqueue(new BeginDicomSequenceItem(sqi)); BuildWalkQueue(sqi); _items.Enqueue(new EndDicomSequenceItem()); } _items.Enqueue(new EndDicomSequence()); } } }
public bool OnBeginFragment(DicomFragmentSequence fragment) { return(true); }