]> Creatis software - gdcm.git/blobdiff - src/gdcmDefaultDicts.cxx.in
* gdcmDicomDirElement.[h|cxx] : change the AddEntry method. Now, it gets a
[gdcm.git] / src / gdcmDefaultDicts.cxx.in
index 6c3c53d571ca025a73f463d5630771decb7e5164..58649c6e7a7642a3a37ed721bdacd957d3d17ab0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDefaultDicts.cxx.in,v $
   Language:  C++
-  Date:      $Date: 2005/01/07 12:29:17 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2005/01/20 17:15:54 $
+  Version:   $Revision: 1.6 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -30,11 +30,11 @@ namespace gdcm
 
 typedef struct
 {
-  uint16_t group;
-  uint16_t element;
-  const char *vr;
-  const char *vm;
-  const char *name;
+   uint16_t group;
+   uint16_t element;
+   const char *vr;
+   const char *vm;
+   const char *name;
 } DICT_ENTRY;
 
 static DICT_ENTRY datadir[] = {
@@ -43,14 +43,14 @@ static DICT_ENTRY datadir[] = {
 
 void FillDefaultDataDict(Dict *d)
 {
-  unsigned int i = 0;
-  DICT_ENTRY n = datadir[i];
-  while( n.name != 0 )
-    {
-    const DictEntry e( n.group, n.element, n.vr, n.vm, n.name);
-    d->AddNewEntry( e );
-    n = datadir[++i];
-    }
+   unsigned int i = 0;
+   DICT_ENTRY n = datadir[i];
+   while( n.name != 0 )
+   {
+      const DictEntry e( n.group, n.element, n.vr, n.vm, n.name);
+      d->AddNewEntry( e );
+      n = datadir[++i];
+   }
 }
 
 void FillDefaultTSDict(TSHT & ts)
@@ -65,29 +65,44 @@ void FillDefaultVRDict(VRHT & vr)
 
 typedef struct
 {
-  const char *type;
-  unsigned short group;
-  unsigned short element;
-  const char *value;
+   const char *type;
+   unsigned short group;
+   unsigned short element;
+   const char *value;
 } ELEMENT;
 
-static ELEMENT dataelement[] = {
+static ELEMENT dataElement[] = {
 @DICOM_DIR_DICTIONARY@
 };
 
 void FillDefaultDIRDict(DicomDirElement *dde)
 {
-  unsigned int i = 0;
-  ELEMENT e = dataelement[i];
-  Element elem;
-  while( e.type != 0 )
-    {
-    elem.Group = e.group;
-    elem.Elem  = e.element;
-    elem.Value = e.value;
-    dde->AddNewEntry( e.type, elem);
-    e = dataelement[++i];
-    }
+   unsigned int i = 0;
+   ELEMENT e = dataElement[i];
+   Element elem;
+   DicomDirType type;
+
+   while( e.type != 0 )
+   {
+      if( e.type == "metaElem" )
+         type = DD_META;
+      else if( e.type == "patientElem" )
+         type = DD_PATIENT;
+      else if( e.type == "studyElem" )
+         type = DD_STUDY;
+      else if( e.type == "serieElem" )
+         type = DD_SERIE;
+      else if( e.type == "imageElem" )
+         type = DD_IMAGE;
+      else
+         type = DD_UNKNOWN;
+
+      elem.Group = e.group;
+      elem.Elem  = e.element;
+      elem.Value = e.value;
+      dde->AddNewEntry( type, elem);
+      e = dataElement[++i];
+   }
 }
 
 } //end gdcm namespace