]> Creatis software - gdcm.git/blobdiff - src/gdcmDocEntrySet.cxx
COMP: doh !
[gdcm.git] / src / gdcmDocEntrySet.cxx
index 395491db1d25639679191c9f983486a8c8736452..4f0e9ce2f648be9ae792cff907d25c01fc44223c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/07 08:50:13 $
-  Version:   $Revision: 1.33 $
+  Date:      $Date: 2005/01/07 22:24:00 $
+  Version:   $Revision: 1.40 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -27,8 +27,6 @@
 #include "gdcmValEntry.h"
 #include "gdcmBinEntry.h"
 
-#include <assert.h>
-
 namespace gdcm 
 {
 
@@ -38,18 +36,18 @@ namespace gdcm
 
 /**
  * \brief   Request a new virtual dict entry to the dict set
- * @param   group     group  number of the underlying DictEntry
+ * @param   group group  number of the underlying DictEntry
  * @param   elem  element number of the underlying DictEntry
- * @param   vr     VR of the underlying DictEntry
- * @param   fourth owner group
+ * @param   vr    VR (Value Representation) of the underlying DictEntry
+ * @param   vm    VM (Value Multiplicity) of the underlying DictEntry
  * @param   name   english name
  */
 DictEntry* DocEntrySet::NewVirtualDictEntry( uint16_t group,uint16_t elem,
                                              TagName const & vr,
-                                             TagName const & fourth,
+                                             TagName const & vm,
                                              TagName const & name )
 {
-   return Global::GetDicts()->NewVirtualDictEntry(group,elem,vr,fourth,name);
+   return Global::GetDicts()->NewVirtualDictEntry(group,elem,vr,vm,name);
 }
 
 //-----------------------------------------------------------------------------
@@ -66,13 +64,12 @@ ValEntry *DocEntrySet::NewValEntryByNumber(uint16_t group,uint16_t elem,
                                            TagName const & vr) 
 {
    DictEntry *dictEntry = GetDictEntryByNumber(group, elem, vr);
-   assert(dictEntry);
+   gdcmAssertMacro(dictEntry);
 
    ValEntry *newEntry = new ValEntry(dictEntry);
    if (!newEntry) 
    {
-      dbg.Verbose(1, "Document::NewValEntryByNumber",
-                  "failed to allocate ValEntry");
+      gdcmVerboseMacro( "Failed to allocate ValEntry");
       return 0;
    }
    return newEntry;
@@ -91,13 +88,12 @@ BinEntry *DocEntrySet::NewBinEntryByNumber(uint16_t group,uint16_t elem,
                                            TagName const & vr) 
 {
    DictEntry *dictEntry = GetDictEntryByNumber(group, elem, vr);
-   assert(dictEntry);
+   gdcmAssertMacro(dictEntry);
 
    BinEntry *newEntry = new BinEntry(dictEntry);
    if (!newEntry) 
    {
-      dbg.Verbose(1, "Document::NewBinEntryByNumber",
-                  "failed to allocate BinEntry");
+      gdcmVerboseMacro( "Failed to allocate BinEntry");
       return 0;
    }
    return newEntry;
@@ -113,13 +109,12 @@ BinEntry *DocEntrySet::NewBinEntryByNumber(uint16_t group,uint16_t elem,
 SeqEntry* DocEntrySet::NewSeqEntryByNumber(uint16_t group,uint16_t elem) 
 {
    DictEntry *dictEntry = GetDictEntryByNumber(group, elem, "SQ");
-   assert(dictEntry);
+   gdcmAssertMacro(dictEntry);
 
    SeqEntry *newEntry = new SeqEntry( dictEntry );
    if (!newEntry)
    {
-      dbg.Verbose(1, "Document::NewSeqEntryByNumber",
-                  "failed to allocate SeqEntry");
+      gdcmVerboseMacro( "Failed to allocate SeqEntry");
       return 0;
    }
    return newEntry;
@@ -140,8 +135,7 @@ DictEntry *DocEntrySet::GetDictEntryByNumber(uint16_t group,uint16_t elem)
    Dict *pubDict = Global::GetDicts()->GetDefaultPubDict();
    if (!pubDict) 
    {
-      dbg.Verbose(0, "Document::GetDictEntry",
-                     "we SHOULD have a default dictionary");
+      gdcmVerboseMacro( "We SHOULD have a default dictionary");
    }
    else
    {
@@ -155,22 +149,31 @@ DictEntry *DocEntrySet::GetDictEntryByNumber(uint16_t group, uint16_t elem,
 {
    DictEntry *dictEntry = GetDictEntryByNumber(group,elem);
    DictEntry *goodEntry = dictEntry;
-   std::string goodVR=vr;
+   std::string goodVR = vr;
 
-   if (elem==0x0000)
-      goodVR="UL";
+   if (elem == 0x0000) goodVR="UL";
 
-   if (goodEntry)
-      if (goodEntry->GetVR() != goodVR && goodVR!=GDCM_UNKNOWN)
-         goodEntry=NULL;
+   if ( goodEntry )
+   {
+      if ( goodVR != goodEntry->GetVR()
+        && goodVR != GDCM_UNKNOWN )
+      {
+         goodEntry = NULL;
+      }
+   }
 
    // Create a new virtual DictEntry if necessary
    if (!goodEntry)
    {
       if (dictEntry)
-         goodEntry = NewVirtualDictEntry(group, elem, goodVR,"FIXME",dictEntry->GetName());
+      {
+         goodEntry = NewVirtualDictEntry(group, elem, goodVR, "FIXME", 
+                                         dictEntry->GetName() );
+      }
       else
+      {
          goodEntry = NewVirtualDictEntry(group, elem, goodVR);
+      }
    }
 
    return goodEntry;