+#if GDCM_MAJOR_VERSION == 2
+
+//--------------------------------------------------------------------
+void clitk::DicomRT_ROI::UpdateDicomItem()
+{
+ if (GetDicomUptoDateFlag()) return;
+ DD("ROI::UpdateDicomItem");
+ DD(GetName());
+
+ // From now, only some item can be modified
+
+ // Set ROI Name 0x3006,0x26>
+ gdcm::Attribute<0x3006,0x26> roiname;
+ roiname.SetValue(GetName());
+ gdcm::DataElement de = roiname.GetAsDataElement();
+ gdcm::DataSet & ds = mItemInfo->GetNestedDataSet();
+ ds.Replace(de);
+
+ // From MESH to CONTOURS
+ ComputeContoursFromImage();
+
+ // Update contours
+ DD(mListOfContours.size());
+ for(uint i=0; i<mListOfContours.size(); i++) {
+ DD(i);
+ DicomRT_Contour::Pointer contour = mListOfContours[i];
+ contour->UpdateDicomItem();//mItemContour);
+ }
+
+ // Nb of contours
+ unsigned int nitems = mContoursSequenceOfItems->GetNumberOfItems();
+ DD(nitems);
+
+ // Write [Contour Sequence] = 0x3006,0x0040)
+ gdcm::DataSet & dsc = mItemContour->GetNestedDataSet();
+ gdcm::Tag tcsq(0x3006,0x0040);
+ const gdcm::DataElement& csq = dsc.GetDataElement( tcsq );
+ gdcm::DataElement dec(csq);
+ dec.SetValue(*mContoursSequenceOfItems);
+ dsc.Replace(dec);
+
+ gdcm::DataSet & a = mContoursSequenceOfItems->GetItem(1).GetNestedDataSet();
+ gdcm::Attribute<0x3006,0x0050> at;
+ gdcm::Tag tcontourdata(0x3006,0x0050);
+ gdcm::DataElement contourdata = a.GetDataElement( tcontourdata );
+ at.SetFromDataElement( contourdata );
+ const double* points = at.GetValues();
+ DD(points[0]);
+
+}
+//--------------------------------------------------------------------
+#endif
+