-gdcmDicomDirImage * gdcmDicomDirSerie::NewImage(void) {
- std::list<gdcmElement> elemList;
- elemList=gdcmGlobal::GetDicomDirElements()->GetDicomDirImageElements();
-
- gdcmDicomDirImage *st = new gdcmDicomDirImage(ptagHT);
- FillObject(elemList);
- images.push_front(st);
- return st;
-}
+DicomDirImage *DicomDirSerie::GetFirstImage()
+{
+ ItImage = Images.begin();
+ if (ItImage != Images.end())
+ return *ItImage;
+ return NULL;
+}
+
+/**
+ * \brief Get the next entry while visiting the DicomDirImages
+ * \note : meaningfull only if GetFirstEntry already called
+ * \return The next DicomDirImages if found, otherwhise NULL
+ */
+DicomDirImage *DicomDirSerie::GetNextImage()
+{
+ gdcmAssertMacro (ItImage != Images.end());
+
+ ++ItImage;
+ if (ItImage != Images.end())
+ return *ItImage;
+ 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();
+ }
+}
+