00001 /*======================================================================= 00002 ** VSG_COPYRIGHT_TAG 00003 **=======================================================================*/ 00004 00005 #pragma once 00006 00007 #include <Inventor/SbString.h> 00008 #include <Inventor/devices/SoBufferObject.h> 00009 00026 class SiDicomValue 00027 { 00028 public: 00029 enum ValueType 00030 { 00031 BUFFER, 00032 STRING, 00033 INT, 00034 UINT, 00035 DOUBLE, 00036 }; 00037 00041 virtual ~SiDicomValue() {} 00042 00046 virtual SiDicomValue* clone() const = 0; 00047 00051 virtual ValueType getValueType() const = 0; 00052 00056 virtual size_t getLength() const = 0; 00057 00061 virtual SbString asString() const = 0; 00062 00068 virtual void getBuffer( SoBufferObject* buffer ) const = 0; 00069 00077 virtual SbString getString( const size_t idx = 0 ) const = 0; 00078 00086 virtual int64_t getInt( const size_t idx = 0 ) const = 0; 00087 00095 virtual uint64_t getUInt( const size_t idx = 0 ) const = 0; 00096 00104 virtual double getDouble( const size_t idx = 0 ) const = 0; 00105 }; 00106