+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::ChangeContourColor() {
+ QColor color;
+ color.setRgbF(mCurrentROIActor->GetContourColor()[0],
+ mCurrentROIActor->GetContourColor()[1],
+ mCurrentROIActor->GetContourColor()[2]);
+ QColor c = QColorDialog::getColor(color, this, "Choose the contour color");
+ mCurrentROIActor->SetContourColor(c.redF(), c.greenF(), c.blueF());
+ mCurrentROIActor->UpdateColor();
+ mCurrentSlicerManager->Render();
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::ChangeContourWidth(int n) {
+ mCurrentROIActor->SetContourWidth(n);
+ mCurrentROIActor->UpdateColor();
+ mCurrentSlicerManager->Render();
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::ReloadCurrentROI() {
+ // Reload image
+ vvImageReader * mReader = new vvImageReader;
+ mReader->SetInputFilename(mCurrentROI->GetFilename());
+ mReader->Update(IMAGE);
+ if (mReader->GetLastError() != "") {
+ QMessageBox::information(mMainWindowBase, tr("Sorry, error. Could not reload"), mReader->GetLastError().c_str());
+ return;
+ }
+ // delete mCurrentROI->GetImage();
+ // DD(mCurrentROI->GetImage()->GetFirstVTKImageData()->GetDataReleased());
+// DD(mCurrentROI->GetImage()->GetFirstVTKImageData()->GetReferenceCount());
+ mCurrentROI->GetImage()->GetFirstVTKImageData()->ReleaseData();
+ // DD(mCurrentROI->GetImage()->GetFirstVTKImageData()->GetDataReleased());
+ mCurrentROI->SetImage(mReader->GetOutput());
+
+ // Update visu"
+ mCurrentROIActor->UpdateImage();
+ mCurrentSlicerManager->Render();
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::CheckInputList(std::vector<vvSlicerManager*> & l, int & index)
+{
+ DD("TODO CheckInputList");
+
+ for(unsigned int i=0; i<l.size(); i++) {
+ std::vector<vvSlicerManager*>::iterator iter = std::find(mListOfInputs.begin(), mListOfInputs.end(), l[i]);
+ if (iter != mListOfInputs.end()) {
+ for(unsigned int j=i;j<l.size(); j++) l[j] = l[j+1];
+ l.pop_back();
+ if (index == (int)i) index = 0;
+ i--;
+ }
+ }
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+// STATIC
+vvToolStructureSetManager * vvToolStructureSetManager::AddImage(vvSlicerManager * m, vvImage::Pointer image, double BG, bool m_modeBG)
+{
+ // DD("static AddImage");
+ //DD(mListOfInputs.size());
+
+ if (mListOfOpenTool[m]) {
+ DD("found");
+ vvToolStructureSetManager * tool = mListOfOpenTool[m];
+ tool->AddImage(image, "bidon.mhd", BG, m_modeBG);
+ tool->UpdateImage();
+ // tool->show();
+ return tool;
+ }
+ else {
+ DD("not found");
+ }
+
+ std::vector<vvSlicerManager*>::iterator iter =
+ std::find(mListOfInputs.begin(), mListOfInputs.end(), m);
+ if (iter != mListOfInputs.end()) {
+ DD("found");
+ DD("TODO");
+
+ }
+ else {
+ DD("not found");
+
+ // mMainWindowBase instead of NULL, should be static ?
+
+ vvToolStructureSetManager * tool = new vvToolStructureSetManager
+ (CREATOR(vvToolStructureSetManager)->GetMainWindow(), Qt::Dialog, m);
+
+ // WARNING : load list of image and selec -> to change to force mCurrentSlicerManager
+
+ // tool->InputIsSelected();
+ tool->AddImage(image, "bidon.mhd", BG, m_modeBG);
+ tool->UpdateImage();
+ tool->show();
+ return tool;
+ }
+ return NULL;
+}
+//------------------------------------------------------------------------------