00001 /*======================================================================= 00002 ** VSG_COPYRIGHT_TAG 00003 **=======================================================================*/ 00004 00005 #pragma once 00006 00007 #include <VolumeViz/readers/dicom/SoDicomTag.h> 00008 00009 class SiDicomDataSet; 00010 class SiDicomSequence; 00011 class SiDicomValue; 00012 00032 class SiDicomElement 00033 { 00034 public: 00038 virtual ~SiDicomElement() {} 00039 00046 virtual SiDicomElement* clone() const = 0; 00047 00051 virtual const SoDicomTag& getTag() const = 0; 00052 00058 virtual const SiDicomValue* getValue() const = 0; 00059 00065 virtual const SiDicomSequence* getSequence() const = 0; 00066 }; 00067