]> Creatis software - gdcm.git/commitdiff
* Add the Copy method in all datas
authorregrain <regrain>
Tue, 29 Nov 2005 12:48:45 +0000 (12:48 +0000)
committerregrain <regrain>
Tue, 29 Nov 2005 12:48:45 +0000 (12:48 +0000)
   * Remove the MoveItem in the SQItem... that was a stuff for the DicomDir
   -- BeNours

19 files changed:
src/gdcmDataEntry.cxx
src/gdcmDataEntry.h
src/gdcmDicomDir.cxx
src/gdcmDicomDir.h
src/gdcmDicomDirPatient.cxx
src/gdcmDicomDirPatient.h
src/gdcmDicomDirSerie.cxx
src/gdcmDicomDirSerie.h
src/gdcmDicomDirStudy.cxx
src/gdcmDicomDirStudy.h
src/gdcmDocEntry.cxx
src/gdcmDocEntry.h
src/gdcmDocEntrySet.h
src/gdcmElementSet.cxx
src/gdcmElementSet.h
src/gdcmSQItem.cxx
src/gdcmSQItem.h
src/gdcmSeqEntry.cxx
src/gdcmSeqEntry.h

index f80dd7d290db83810222a52b1334f7b470b2e6af..97afe0cb24cb22876179ae42ed5039eda4c8336c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDataEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 12:15:06 $
-  Version:   $Revision: 1.23 $
+  Date:      $Date: 2005/11/29 12:48:45 $
+  Version:   $Revision: 1.24 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -452,9 +452,11 @@ std::string const &DataEntry::GetString() const
    }
    return StrArea;
 }
+
 /**
- * \brief   Copies all the attributes from an other DocEntry 
+ * \brief Copies all the attributes from an other DocEntry 
  * @param doc entry to copy from
+ * @remarks The content BinArea is copied too
  */
 void DataEntry::Copy(DocEntry *doc)
 {
@@ -468,6 +470,7 @@ void DataEntry::Copy(DocEntry *doc)
       CopyBinArea(entry->BinArea,entry->GetLength());
    }
 }
+
 /**
  * \brief   Writes the 'value' area of a DataEntry
  * @param fp already open ofstream pointer
index b545ff0c673c9c8b74bc6b6e50285c8bd75b22a6..67413d8c7bb75cb638a49085c6ecb85cfe8ed49a 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDataEntry.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 09:46:25 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2005/11/29 12:48:45 $
+  Version:   $Revision: 1.11 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -115,7 +115,7 @@ public:
    /// \brief true id Entry is a Pixel Data entry
    bool IsPixelData() { return (Flag &FLAG_PIXELDATA) != 0; }
 
-   void Copy(DocEntry *doc);
+   virtual void Copy(DocEntry *doc);
 
    /// \brief returns the size threshold above which an element value 
    ///        will NOT be *printed* in order no to polute the screen output
index ef45a81e8388d2f040828f95ee971b67f0c6c5fb..1a47080925328ad312a6fd473843c6a7315c4d0f 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDir.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/28 16:31:23 $
-  Version:   $Revision: 1.175 $
+  Date:      $Date: 2005/11/29 12:48:45 $
+  Version:   $Revision: 1.176 $
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -118,7 +118,6 @@ namespace gdcm
  * \brief   Constructor : creates an empty DicomDir
  */
 DicomDir::DicomDir()
-         :Document( )
 {
    Initialize();  // sets all private fields to NULL
    ParseDir = false;
@@ -436,6 +435,33 @@ bool DicomDir::Anonymize()
    return true;
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntrySet 
+ * @param set entry to copy from
+ * @remarks The contained DocEntries a not copied, only referenced
+ */
+void DicomDir::Copy(DocEntrySet *set)
+{
+   // Remove all previous childs
+   ClearPatient();
+
+   Document::Copy(set);
+
+   DicomDir *dd = dynamic_cast<DicomDir *>(set);
+   if( dd )
+   {
+      if(MetaElems)
+         MetaElems->Unregister();
+      MetaElems = dd->MetaElems;
+      if(MetaElems)
+         MetaElems->Register();
+
+      Patients = dd->Patients;
+      for(ItPatient = Patients.begin();ItPatient != Patients.end();++ItPatient)
+         (*ItPatient)->Register();
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 /**
@@ -653,7 +679,7 @@ void DicomDir::CreateDicomDir()
         continue;
       }
       if ( si )
-         si->MoveObject(tmpSI);  // New code : Copies the List
+         si->Copy(tmpSI);
 
       tmpSI=s->GetNextSQItem();
    }
index d9ec5b339498aed6684b939b997e0653a8dadfbf..15162e8d6e53add093968c7b606ad62b9fe5e176 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDir.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/28 15:20:32 $
-  Version:   $Revision: 1.71 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.72 $
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -98,6 +98,8 @@ public:
 
    bool Anonymize();
 
+   virtual void Copy(DocEntrySet *set);
+
    /// Types of the DicomDirObject within the DicomDir
    typedef enum
    {
index 73680f8051df592defd78eac10bae7c8e14198f7..4fc33c581a8668223da775124b7c3f36bf1ba108 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirPatient.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/10/25 14:52:33 $
-  Version:   $Revision: 1.39 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  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
@@ -136,6 +136,27 @@ DicomDirStudy *DicomDirPatient::GetLastStudy()
    return NULL;
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntrySet 
+ * @param set entry to copy from
+ * @remarks The contained DocEntries a not copied, only referenced
+ */
+void DicomDirPatient::Copy(DocEntrySet *set)
+{
+   // Remove all previous childs
+   ClearStudy();
+
+   DicomDirObject::Copy(set);
+
+   DicomDirPatient *ddEntry = dynamic_cast<DicomDirPatient *>(set);
+   if( ddEntry )
+   {
+      Studies = ddEntry->Studies;
+      for(ItStudy = Studies.begin();ItStudy != Studies.end();++ItStudy)
+         (*ItStudy)->Register();
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 
index 42a4490316f9c249814552d24d5135043c23657d..c192970c346de65823c52b649f79d6c7bedf273e 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirPatient.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 09:46:25 $
-  Version:   $Revision: 1.29 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.30 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -54,6 +54,8 @@ public:
    DicomDirStudy *GetNextStudy();
    DicomDirStudy *GetLastStudy();
 
+   virtual void Copy(DocEntrySet *set);
+
 protected:
    DicomDirPatient(bool empty=false); 
    ~DicomDirPatient();
index 090dac646c530056d5274e317a7289760e887254..3737076e424ff7095a846e7e862ccfaca099a14f 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirSerie.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/10/25 14:52:33 $
-  Version:   $Revision: 1.39 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  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
@@ -120,6 +120,27 @@ DicomDirImage *DicomDirSerie::GetNextImage()
    return NULL;
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntrySet 
+ * @param set entry to copy from
+ * @remarks The contained DocEntries a not copied, only referenced
+ */
+void DicomDirSerie::Copy(DocEntrySet *set)
+{
+   // Remove all previous childs
+   ClearImage();
+
+   DicomDirObject::Copy(set);
+
+   DicomDirSerie *ddEntry = dynamic_cast<DicomDirSerie *>(set);
+   if( ddEntry )
+   {
+      Images = ddEntry->Images;
+      for(ItImage = Images.begin();ItImage != Images.end();++ItImage)
+         (*ItImage)->Register();
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 
index eecc374ae82ed599e0d9d436c62bee6533767816..6a6fc7180da80575c378cafa79672872598d318f 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirSerie.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 09:46:25 $
-  Version:   $Revision: 1.31 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.32 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -52,6 +52,8 @@ public:
    DicomDirImage *GetFirstImage();
    DicomDirImage *GetNextImage();
 
+   virtual void Copy(DocEntrySet *set);
+
 protected:
    DicomDirSerie(bool empty=false); 
    ~DicomDirSerie();
index b907e6983291b013b170765d75ebbe942ac62186..66c29bcb5bd250865b76f60803d849769341fcdf 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirStudy.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/10/25 14:52:33 $
-  Version:   $Revision: 1.41 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.42 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -213,6 +213,32 @@ DicomDirVisit *DicomDirStudy::GetLastVisit()
    return NULL;
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntrySet 
+ * @param set entry to copy from
+ * @remarks The contained DocEntries a not copied, only referenced
+ */
+void DicomDirStudy::Copy(DocEntrySet *set)
+{
+   // Remove all previous childs
+   ClearSerie();
+   ClearVisit();
+
+   DicomDirObject::Copy(set);
+
+   DicomDirStudy *ddEntry = dynamic_cast<DicomDirStudy *>(set);
+   if( ddEntry )
+   {
+      Series = ddEntry->Series;
+      for(ItSerie = Series.begin();ItSerie != Series.end();++ItSerie)
+         (*ItSerie)->Register();
+
+      Visits = ddEntry->Visits;
+      for(ItVisit = Visits.begin();ItVisit != Visits.end();++ItVisit)
+         (*ItVisit)->Register();
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 
index 6806dc2ffe17dd1c841d945999e23a6507e44464..afe52f85b3b498e83800740a92a02edacfab737c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirStudy.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 09:46:25 $
-  Version:   $Revision: 1.31 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.32 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -80,6 +80,8 @@ public:
    DicomDirStudyComponent *GetLastStudyComponent();
 */    
 
+   virtual void Copy(DocEntrySet *set);
+
 protected:
    DicomDirStudy(bool empty=false); 
    ~DicomDirStudy();
index 706d023c351865c50f1db532d8c6f947a60116e9..f343fb60846218253972b1bf4c0bbb6c83e622b0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 12:15:06 $
-  Version:   $Revision: 1.78 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.79 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -219,7 +219,7 @@ bool DocEntry::IsSequenceDelimitor()
 }
 
 /**
- * \brief   Copies all the attributes from an other DocEntry 
+ * \brief Copies all the attributes from an other DocEntry 
  * @param doc entry to copy from
  */
 void DocEntry::Copy(DocEntry *doc)
index c0d4087055b77203acc17f67a5c42a47ea2d7c05..ee5c7eb64aecd8c565d239b5c72e87e9ba313cdf 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntry.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/28 16:31:23 $
-  Version:   $Revision: 1.58 $
+  Date:      $Date: 2005/11/29 12:48:46 $
+  Version:   $Revision: 1.59 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -122,8 +122,8 @@ public:
    bool IsItemDelimitor();
    bool IsItemStarter();
    bool IsSequenceDelimitor();   
-   
-   virtual void Copy(DocEntry *e);
+
+   virtual void Copy(DocEntry *doc);
 
 protected:
    DocEntry(DictEntry*);
index 80f27e9e694e037ac81de28cd9f19b729192161b..319cf3b118b2b02fd69d3ab8fee556156c47713c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocEntrySet.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/28 16:31:23 $
-  Version:   $Revision: 1.65 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  Version:   $Revision: 1.66 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -111,6 +111,8 @@ public:
                          VRKey const &vr = GDCM_VRUNKNOWN);
    SeqEntry *NewSeqEntry(uint16_t group, uint16_t elem);
 
+   virtual void Copy(DocEntrySet *set) {};
+
 protected:
    /// Canonical Constructor
    DocEntrySet();
index a59c4e19d4f41fe8d53fa4403615d13af1b8d685..4804928cb7ac8173dbbd62a9c069fcccafc5fda3 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmElementSet.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/10/27 11:39:34 $
-  Version:   $Revision: 1.70 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  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
@@ -170,6 +170,29 @@ DocEntry *ElementSet::GetDocEntry(uint16_t group, uint16_t elem)
    return NULL;
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntrySet 
+ * @param set entry to copy from
+ * @remarks The contained DocEntries a not copied, only referenced
+ */
+void ElementSet::Copy(DocEntrySet *set)
+{
+   // Remove all previous entries
+   ClearEntry();
+
+   DocEntrySet::Copy(set);
+
+   ElementSet *eltSet = dynamic_cast<ElementSet *>(set);
+   if( eltSet )
+   {
+      TagHT = eltSet->TagHT;
+      for(ItTagHT = TagHT.begin();ItTagHT != TagHT.end();++ItTagHT)
+      {
+         (ItTagHT->second)->Register();
+      }
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 
index 85021cbd7ad8bfed44a97c5777a8843719d6fc6d..ab4b3a7bc8135394877a5179bc0394ed13c80ae3 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmElementSet.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/22 20:27:58 $
-  Version:   $Revision: 1.52 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  Version:   $Revision: 1.53 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -57,6 +57,8 @@ public:
    /// Tells us if the ElementSet contains no entry
    bool IsEmpty() { return TagHT.empty(); }
 
+   virtual void Copy(DocEntrySet *set);
+
 protected:
    ElementSet();
    ~ElementSet();
index d5f11db52aa93f8046a37c2e647b9c076af403ce..310be6b8dc81cd90f4c033a418f8289af333a0d7 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSQItem.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 09:46:27 $
-  Version:   $Revision: 1.80 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  Version:   $Revision: 1.81 $
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -200,15 +200,6 @@ void SQItem::ClearEntry()
    DocEntries.clear();
 }
 
-/**
- * \brief  Move all the entries from a given Sequence Item 
- */
-void SQItem::MoveObject(SQItem *source)
-{
-   DocEntries = source->DocEntries;
-   source->DocEntries.clear();
-}
-
 /**
  * \brief   Get the first Dicom entry while visiting the SQItem
  * \return  The first DocEntry if found, otherwhise 0
@@ -251,6 +242,30 @@ DocEntry *SQItem::GetDocEntry(uint16_t group, uint16_t elem)
    return NULL;
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntrySet 
+ * @param set entry to copy from
+ * @remarks The contained DocEntries a not copied, only referenced
+ */
+void SQItem::Copy(DocEntrySet *set)
+{
+   // Remove all previous entries
+   ClearEntry();
+
+   DocEntrySet::Copy(set);
+
+   SQItem *sq = dynamic_cast<SQItem *>(set);
+   if( sq )
+   {
+      SQDepthLevel = sq->SQDepthLevel;
+      SQItemNumber = sq->SQItemNumber;
+
+      DocEntries = sq->DocEntries;
+      for(ItDocEntries = DocEntries.begin();ItDocEntries != DocEntries.end();++ItDocEntries)
+         (*ItDocEntries)->Register();
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 
index b76afb5a9aecd9220c9a206c4fb1ee2c2e227641..28b18715e237e17d844155091d0fd415466b2168 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSQItem.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/07 09:46:37 $
-  Version:   $Revision: 1.48 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  Version:   $Revision: 1.49 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -52,7 +52,6 @@ public:
    bool AddEntry(DocEntry *Entry); // add to the List
    bool RemoveEntry(DocEntry *EntryToRemove);
    void ClearEntry();
-   void MoveObject(SQItem *source);
   
    DocEntry *GetFirstEntry();
    DocEntry *GetNextEntry();
@@ -72,6 +71,8 @@ public:
    ///  \brief Accessor on \ref SQDepthLevel.
    void SetDepthLevel(int depth) { SQDepthLevel = depth; }
 
+   virtual void Copy(DocEntrySet *set);
+
 protected:
    SQItem(int depthLevel);
    ~SQItem();
@@ -81,8 +82,6 @@ protected:
    ListDocEntry DocEntries;
    /// Iterator, used to visit the entries
    ListDocEntry::iterator ItDocEntries;
-   /// Iterator, used to visit the Val Entries (for Python users)
-   ListDocEntry::iterator ItValEntries;
   
 private:
    /// \brief Sequences can be nested. This \ref SQDepthLevel represents
index fb0dfdfc2110af4526b38cd02d1ae2f2637a54ec..dd5c582abe4c58dd25022703f9e4fa3ed3af3359 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSeqEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/11/07 09:46:36 $
-  Version:   $Revision: 1.62 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  Version:   $Revision: 1.63 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -230,10 +230,37 @@ void SeqEntry::SetDelimitationItem(DocEntry *e)
    }
 }
 
+/**
+ * \brief Copies all the attributes from an other DocEntry 
+ * @param doc entry to copy from
+ * @remarks The contained SQItems a not copied, only referenced
+ */
+void SeqEntry::Copy(DocEntry *doc)
+{
+   // Delete previous SQ items
+   ClearSQItem();
+
+   DocEntry::Copy(doc);
+   SeqEntry *entry = dynamic_cast<SeqEntry *>(doc);
+   if ( entry )
+   {
+      DelimitorMode = entry->DelimitorMode;
+      SQDepthLevel = entry->SQDepthLevel;
+
+      SeqTerm = entry->SeqTerm;
+      if(SeqTerm)
+         SeqTerm->Register();
+      Items = entry->Items;
+      for(ItSQItem = Items.begin();ItSQItem != Items.end(); ++ItSQItem)
+      {
+         (*ItSQItem)->Register();
+      }
+   }
+}
+
 //-----------------------------------------------------------------------------
 // Protected
 
-
 //-----------------------------------------------------------------------------
 // Private
 
index 0d1aef53799dabe7ad89ddbbefca7a5520ab1645..e26eddd0f201796876aba455cffe09e77674d533 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSeqEntry.h,v $
   Language:  C++
-  Date:      $Date: 2005/11/21 09:46:27 $
-  Version:   $Revision: 1.38 $
+  Date:      $Date: 2005/11/29 12:48:47 $
+  Version:   $Revision: 1.39 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -60,18 +60,17 @@ public:
       
    /// Sets the delimitor mode
    void SetDelimitorMode(bool dm) { DelimitorMode = dm; }
-
-   
    void SetDelimitationItem(DocEntry *e);
-
    /// Gets the Sequence Delimitation Item
-   DocEntry *GetDelimitationItem()       { return SeqTerm;}
+   DocEntry *GetDelimitationItem() { return SeqTerm;}
 
    /// Gets the depth level
    int GetDepthLevel() const { return SQDepthLevel; }
    /// Sets the depth level of a Sequence Entry embedded in a SeQuence
    void SetDepthLevel(int depth) { SQDepthLevel = depth; }
 
+   virtual void Copy(DocEntry *doc);
+
 protected:
 
 private: