]> Creatis software - gdcm.git/blobdiff - src/gdcmDicomDirMeta.cxx
Fix mistypings
[gdcm.git] / src / gdcmDicomDirMeta.cxx
index 1c4e45b04a35d402a80086c919f9afcfac617403..354fd1ed85600c6fc4dbccd30c5306680b5afd87 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirMeta.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/03 14:29:23 $
-  Version:   $Revision: 1.30 $
+  Date:      $Date: 2007/10/08 15:20:17 $
+  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
@@ -22,7 +22,8 @@
 #include "gdcmGlobal.h"
 #include "gdcmUtil.h"
 #include "gdcmDataEntry.h"
-namespace gdcm 
+
+namespace GDCM_NAME_SPACE 
 {
 //-----------------------------------------------------------------------------
 // Constructor / Destructor
@@ -34,11 +35,9 @@ DicomDirMeta::DicomDirMeta(bool empty):
 {
    if ( !empty )
    {
-      uint8_t fmiv[2] = {0x02,0x00};
       ListDicomDirStudyElem const &elemList = 
          Global::GetDicomDirElements()->GetDicomDirMetaElements();
       FillObject(elemList);
-      SetEntryBinArea(fmiv, 0x0002,0x0001, 2); 
    }
 }
 
@@ -54,14 +53,23 @@ DicomDirMeta::~DicomDirMeta()
 /**
  * \brief   Writes the Meta Elements
  * @param fp ofstream to write to
- * @param filetype type of the file (ACR, ImplicitVR, ExplicitVR, ...)
+ * @param filetype type of the file (ImplicitVR, ExplicitVR, JPEG, JPEG2000 ...)
  * @return
  */ 
-void DicomDirMeta::WriteContent(std::ofstream *fp, FileType filetype)
-{   
+void DicomDirMeta::WriteContent(std::ofstream *fp, FileType filetype,
+                                 bool , bool )
+{
+   // 'File Meta Information Version'
+   
+   uint8_t fmiv[2] = {0x02,0x00};
+   // FIXME : the following doesn't make the job (?!?)      
+   //SetEntryBinArea(fmiv, 0x0002,0x0001, 2); 
+   DataEntry *e00002_0001 = GetDataEntry(0x0002,0x0001);
+   e00002_0001->CopyBinArea(fmiv, 2);
+         
    // 'Media Storage SOP Instance UID'   
-   DataEntry *e00002_0013 = GetDataEntry(0x0002,0x0013);
-   e00002_0013->SetString(Util::CreateUniqueUID());
+   DataEntry *e00002_0003 = GetDataEntry(0x0002,0x0003);
+   e00002_0003->SetString(Util::CreateUniqueUID());
 
    // 'Implementation Class UID'
    DataEntry *e00002_0012 = GetDataEntry(0x0002,0x0012);
@@ -74,10 +82,11 @@ void DicomDirMeta::WriteContent(std::ofstream *fp, FileType filetype)
    e0000->SetString(sLen.str());
    
    for (ListDocEntry::iterator i = DocEntries.begin();  
-                              i != DocEntries.end();
-                              ++i)
-   {
-      (*i)->WriteContent(fp, filetype);
+                               i!= DocEntries.end();
+                             ++i)
+   {   
+   // true : we are in MetaElements
+      (*i)->WriteContent(fp, filetype, true, false);
    }
 }