]> Creatis software - gdcm.git/blobdiff - src/gdcmDocEntrySet.h
When 'Pixel Aspect Ratio' exists, don't add a default 'Pixel Spacing'
[gdcm.git] / src / gdcmDocEntrySet.h
index b4f583e4aac3020c65953acfc249453d7bfdd7b2..6f1930ce2282dcceb4e236b0a24844af56a51b4d 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/28 15:20:33 $
-  Version:   $Revision: 1.64 $
+  Date:      $Date: 2007/08/22 16:14:04 $
+  Version:   $Revision: 1.71 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
                                                                                 
 =========================================================================*/
 
-#ifndef GDCMDOCENTRYSET_H
-#define GDCMDOCENTRYSET_H
+#ifndef _GDCMDOCENTRYSET_H_
+#define _GDCMDOCENTRYSET_H_
 
-#include "gdcmCommandManager.h"
+#include "gdcmRefCounter.h"
 #include "gdcmVRKey.h"
 #include "gdcmTagKey.h"
 
 #include <fstream>
 
-namespace gdcm 
+namespace GDCM_NAME_SPACE 
 {
 //-----------------------------------------------------------------------------
 class DocEntry;
@@ -36,8 +36,8 @@ class DictEntry;
 //-----------------------------------------------------------------------------
 /**
  * \brief
- * \ref DocEntrySet is an abstract base class for \ref ElementSet
- * and \ref SQItem which are both containers for DocEntries.
+ * \ref DocEntrySet is an abstract base class for \ref ElementSet, \ref SQItem
+ *  which are both containers for DocEntries.
  *  - \ref ElementSet is based on the STL map<> container
  * (see \ref ElementSet::TagHT)
  *  - \ref SQItem is based on an STL list container (see \ref ListDocEntry).
@@ -58,13 +58,14 @@ class DictEntry;
  *       members to this class since this class is designed as an adapter 
  *       in the form of an abstract base class.
  */
-class GDCM_EXPORT DocEntrySet : public CommandManager
+class GDCM_EXPORT DocEntrySet : public RefCounter
 {
    gdcmTypeMacro(DocEntrySet);
 
 public:
    /// \brief write any type of entry to the entry set
-   virtual void WriteContent (std::ofstream *fp, FileType filetype) = 0;
+   virtual void WriteContent (std::ofstream *fp, FileType filetype,
+                                                 bool insideMetaElements) = 0;
 
    /// \brief Remove all Entry of the current set
    virtual void ClearEntry() = 0;
@@ -111,6 +112,8 @@ public:
                          VRKey const &vr = GDCM_VRUNKNOWN);
    SeqEntry *NewSeqEntry(uint16_t group, uint16_t elem);
 
+   virtual void Copy(DocEntrySet *) {};
+
 protected:
    /// Canonical Constructor
    DocEntrySet();
@@ -119,8 +122,8 @@ protected:
 
 // DictEntry  related utilities
    DictEntry *GetDictEntry(uint16_t group, uint16_t elem);
-   DictEntry *GetDictEntry(uint16_t group, uint16_t elem,
-                           VRKey const &vr);
//  DictEntry *GetDictEntry(uint16_t group, uint16_t elem,
//                          VRKey const &vr);
    /// To be able to backtrack (Private Sequence, Implicit VR related pb)
    DocEntry *PreviousDocEntry;