]> Creatis software - gdcm.git/blobdiff - src/gdcmValEntry.cxx
2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
[gdcm.git] / src / gdcmValEntry.cxx
index 6b81bad9ba9346e0e75a2011fb86dea211c53b93..0ffc80910084d99d343c6216c4564c289c400f96 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmValEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/06 20:03:28 $
-  Version:   $Revision: 1.42 $
+  Date:      $Date: 2005/01/12 17:10:15 $
+  Version:   $Revision: 1.45 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -21,6 +21,7 @@
 #include "gdcmTS.h"
 #include "gdcmGlobal.h"
 #include "gdcmUtil.h"
+#include "gdcmDebug.h"
 
 #include <fstream>
 
@@ -47,10 +48,11 @@ ValEntry::ValEntry(DictEntry *e) : DocEntry(e)
 ValEntry::ValEntry(DocEntry *e)
              : DocEntry(e->GetDictEntry())
 {
-   UsableLength = e->GetLength();
-   ReadLength   = e->GetReadLength();
-   ImplicitVR   = e->IsImplicitVR();
-   Offset       = e->GetOffset();
+   Copy(e);
+/*   Length     = e->GetLength();
+   ReadLength = e->GetReadLength();
+   ImplicitVR = e->IsImplicitVR();
+   Offset     = e->GetOffset();*/
 }
 
 
@@ -90,7 +92,6 @@ void ValEntry::Print(std::ostream &os)
    v  = GetValue();  // not applicable for SQ ...     
    d2 = Util::CreateCleanString(v);  // replace non printable characters by '.'            
    if( (GetLength()<=MAX_SIZE_PRINT_ELEMENT_VALUE) || 
-       //(PrintLevel>=3)  || (d2.find("gdcm::NotLoaded.") < d2.length()) )
        (PrintLevel>=3)  || (d2.find(GDCM_NOTLOADED) < d2.length()) )
    {
       s << " [" << d2 << "]";
@@ -198,7 +199,7 @@ void ValEntry::SetValue(std::string const &val)
       else
       {
          std::string finalVal = Util::DicomString( val.c_str() );
-         assert( !(finalVal.size() % 2) );
+         gdcmAssertMacro( !(finalVal.size() % 2) );
 
          l = finalVal.length();
          SetValueOnly(finalVal);
@@ -207,7 +208,7 @@ void ValEntry::SetValue(std::string const &val)
    else
    {
       std::string finalVal = Util::DicomString( val.c_str() );
-      assert( !(finalVal.size() % 2) );
+      gdcmAssertMacro( !(finalVal.size() % 2) );
 
       l = finalVal.length();
       SetValueOnly(finalVal);
@@ -223,13 +224,14 @@ void ValEntry::WriteContent(std::ofstream *fp, FileType filetype)
 {
    DocEntry::WriteContent(fp, filetype);
 
-   if ( GetGroup() == 0xfffe ) 
+   if ( GetGroup() == 0xfffe )
    {
       return; //delimitors have NO value
    }
-      
+
    std::string vr = GetVR();
-   unsigned int lgr = GetReadLength();
+   unsigned int lgr = GetLength();
+   //std::cout<<std::hex<<GetGroup()<<"|"<<GetElement()<<std::dec<<" : "<<GetReadLength()<<" / "<<GetLength()<<"\n";
    if (vr == "US" || vr == "SS")
    {
       // some 'Short integer' fields may be mulivaluated
@@ -264,7 +266,7 @@ void ValEntry::WriteContent(std::ofstream *fp, FileType filetype)
       return;
    } 
 
-   assert( lgr == GetValue().length() );
+   gdcmAssertMacro( lgr == GetValue().length() );
    binary_write(*fp, GetValue());
 }