mMeshIsUpToDate = false;
mBackgroundValue = 0;
mForegroundValue = 1;
+ mZDelta = 0;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
clitk::DicomRT_ROI::~DicomRT_ROI()
{
-
}
//--------------------------------------------------------------------
// Read contours [Contour Sequence]
gdcm::SeqEntry * contours=item->GetSeqEntry(0x3006,0x0040);
+ bool contour_processed=false;
+ bool delta_computed=false;
+ double last_z=0;
for(gdcm::SQItem* j=contours->GetFirstSQItem(); j!=0; j=contours->GetNextSQItem()) {
- DicomRT_Contour * c = new DicomRT_Contour;
+ DicomRT_Contour::Pointer c = DicomRT_Contour::New();
bool b = c->Read(j);
- if (b) mListOfContours.push_back(c);
+ if (b) {
+ mListOfContours.push_back(c);
+ if (contour_processed) {
+ double delta=c->GetZ() - last_z;
+ if (delta_computed)
+ assert(mZDelta == delta);
+ else
+ mZDelta = delta;
+ } else
+ contour_processed=true;
+ last_z=c->GetZ();
+ }
}
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
void clitk::DicomRT_ROI::ComputeMesh()
{
- vtkAppendPolyData * append = vtkAppendPolyData::New();
+ vtkSmartPointer<vtkAppendPolyData> append = vtkSmartPointer<vtkAppendPolyData>::New();
for(unsigned int i=0; i<mListOfContours.size(); i++) {
append->AddInput(mListOfContours[i]->GetMesh());
}
append->Update();
- mMesh = append->GetOutput();
+
+ mMesh = vtkSmartPointer<vtkPolyData>::New();
+ mMesh->DeepCopy(append->GetOutput());
mMeshIsUpToDate = true;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::DicomRT_ROI::SetFromBinaryImage(vvImage::Pointer image, int n,
+void clitk::DicomRT_ROI::SetFromBinaryImage(vvImage * image, int n,
std::string name,
std::vector<double> color,
std::string filename)
//--------------------------------------------------------------------
-const vvImage::Pointer clitk::DicomRT_ROI::GetImage() const
+vvImage * clitk::DicomRT_ROI::GetImage() const
{
return mImage;
}