]> Creatis software - clitk.git/blobdiff - vv/vvToolStructureSetManager.cxx
- add opacity (seg fault)
[clitk.git] / vv / vvToolStructureSetManager.cxx
index ac53fb53c3060f7be98ee27c4b2b3e9437d3d29f..fc20be913ad39012cf7333f7b773bccf165f2e0c 100644 (file)
@@ -94,28 +94,8 @@ void vvToolStructureSetManager::InputIsSelected(vvSlicerManager *m) {
   //  connect(m, SIGNAL(LeftButtonReleaseSignal(int)), SLOT(LeftButtonReleaseEvent(int)));
 
   connect(mTree, SIGNAL(itemSelectionChanged()), this, SLOT(selectedItemChangedInTree()));
-}
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-void vvToolStructureSetManager::selectedItemChangedInTree() {
-  DD("selectedItemChangedInTree");
-  QList<QTreeWidgetItem *> l = mTree->selectedItems();
-  DD(l.size());
-  QTreeWidgetItem * w = l[0];
-  if (mMapTreeWidgetToROI.find(w) == mMapTreeWidgetToROI.end()) return; // Search for SS (first)
-  clitk::DicomRT_ROI * roi = mMapTreeWidgetToROI[w];
-  DD(roi->GetName());
-  setCurrentSelectedROI(roi);
-}
-//------------------------------------------------------------------------------
-
-
-//------------------------------------------------------------------------------
-void vvToolStructureSetManager::setCurrentSelectedROI(clitk::DicomRT_ROI * roi) {
-  //  mCheckBoxShow = // get roi actor .../
-
+  connect(mCheckBoxShow, SIGNAL(toggled(bool)), this, SLOT(visibleROIToggled(bool)));
+  connect(mOpacitySlider, SIGNAL(valueChanged(int)), this, SLOT(opacityChanged(int)));
 }
 //------------------------------------------------------------------------------
 
@@ -235,6 +215,7 @@ void vvToolStructureSetManager::openBinaryImage() {
   mCurrentStructureSet = mStructureSetsList[index];
   mCurrentStructureSetActor = mStructureSetActorsList[index];
   mCurrentStructureSetIndex = index;
+  DD(mCurrentStructureSetIndex);
   DD(mCurrentStructureSet->GetName());
 
   // Open images
@@ -323,3 +304,73 @@ void vvToolStructureSetManager::apply() {
   close();
 }
 //------------------------------------------------------------------------------
+
+
+
+//------------------------------------------------------------------------------
+// CURRENT ROI INTERACTION
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::selectedItemChangedInTree() {
+  DD("selectedItemChangedInTree");
+  QList<QTreeWidgetItem *> l = mTree->selectedItems();
+  DD(l.size());
+  QTreeWidgetItem * w = l[0];
+  if (mMapTreeWidgetToROI.find(w) == mMapTreeWidgetToROI.end()) return; // Search for SS (first)
+  clitk::DicomRT_ROI * roi = mMapTreeWidgetToROI[w];
+  DD(roi->GetName());
+  //setCurrentSelectedROI(roi);
+
+  mROInameLabel->setText(roi->GetName().c_str());
+  DD(roi->GetROINumber());
+  DD(mCurrentStructureSetIndex);
+  vvROIActor * actor = mStructureSetActorsList[mCurrentStructureSetIndex]->GetROIActor(roi->GetROINumber());
+  mCurrentROI = roi;
+  mCurrentROIActor = actor;
+
+  DD(actor);
+  DD(actor->IsVisible());
+  mCheckBoxShow->setChecked(actor->IsVisible());
+  mOpacitySlider->setValue((int)lrint(actor->GetOpacity()*100));
+  //actor->SetSelected(true); // remove old selection
+
+  DD("ici");
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::visibleROIToggled(bool b) {
+  DD(b);
+  mCurrentROIActor->SetVisible(b);
+  //mCurrentROIActor->Update();
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvToolStructureSetManager::opacityChanged(int v) {
+  //  if (!mCurrentROIActor) return;
+  DD(v);
+  mCurrentROIActor->SetOpacity((double)v/100.0);
+  DD("ici");
+  mCurrentROIActor->Update();
+  // Render !
+  //  for(int i=0; i<mCurrentSlicerManager->NumberOfSlicers(); i++) {
+    mCurrentSlicerManager->Render(); 
+    //}
+}
+//------------------------------------------------------------------------------
+
+
+
+
+//------------------------------------------------------------------------------
+//void vvToolStructureSetManager::getActorFromROI() {
+//  mStructureSetActorsList[mCurrentStructureSetIndex]->GetROIActor(n);
+//}
+//------------------------------------------------------------------------------
+
+