00001 #pragma once
00002
00003 #include <Inventor/SbString.h>
00004
00005
00006
00007
00008
00027 class SoDicomTag
00028 {
00029 public:
00035 enum VR
00036 {
00037 AE,
00038 AS,
00039 AT,
00040 CS,
00041 DA,
00042 DS,
00043 DT,
00044 FL,
00045 FD,
00046 IS,
00047 LO,
00048 LT,
00049 OB,
00050 OD,
00051 OF,
00052 OL,
00053 OW,
00054 PN,
00055 SH,
00056 SL,
00057 SQ,
00058 SS,
00059 ST,
00060 TM,
00061 UC,
00062 UI,
00063 UL,
00064 UN,
00065 UR,
00066 US,
00067 UT,
00068 };
00069
00073 static void initClass();
00074
00078 static void exitClass();
00079
00080 SoDicomTag() : m_id(0) {}
00081
00085 SoDicomTag( unsigned int id );
00086
00090 SoDicomTag( unsigned short group, unsigned short element );
00091
00097 SoDicomTag( const SbString& name );
00098
00102 unsigned int getId() const;
00103
00107 unsigned short getGroup() const;
00108
00112 unsigned short getElement() const;
00113
00117 SbString getName() const;
00118
00123 VR getVR() const;
00124
00125 private:
00126 static void push( unsigned int id, const SbString& name, VR vr );
00127 static void initSpec();
00128
00129 unsigned int m_id;
00130
00131 class DicomSpecManager;
00132 static DicomSpecManager* s_manager;
00133 };
00134