]> Creatis software - clitk.git/blobdiff - vv/vvROIActor.cxx
- correct remove "_ggo"
[clitk.git] / vv / vvROIActor.cxx
index f1eb222539b2c86059cb493e3709d39dc10151ea..13e906b881531fd888eecb0eacf6e1ec46dad442 100644 (file)
@@ -34,6 +34,7 @@
 vvROIActor::vvROIActor() {
   mImageContour.clear();
   mOverlayActors.clear();
+  mIsVisible = true;
 }
 //------------------------------------------------------------------------------
 
@@ -58,6 +59,29 @@ void vvROIActor::SetSlicerManager(vvSlicerManager * s) {
 //------------------------------------------------------------------------------
 
 
+//------------------------------------------------------------------------------
+void vvROIActor::SetVisible(bool b) {
+  mIsVisible = b;
+  if (!b) { // remove actor
+    for(unsigned int i= 0; i<mOverlayActors.size(); i++) 
+      mOverlayActors[i]->hideActors();
+  }
+  else {
+    for(unsigned int i= 0; i<mOverlayActors.size(); i++) 
+      mOverlayActors[i]->showActors();
+  }
+  Update();
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+bool vvROIActor::IsVisible() {
+  return mIsVisible;
+}
+//------------------------------------------------------------------------------
+
+
 //------------------------------------------------------------------------------
 void vvROIActor::Initialize() {
   if (mROI->GetImage()) {
@@ -101,7 +125,9 @@ void vvROIActor::Update() {
 
 //------------------------------------------------------------------------------
 void vvROIActor::UpdateSlice(int slicer, int slices) {
-   if (!mROI->GetImage())  return;
+  if (!mROI->GetImage())  return;
+  
+  if (!mIsVisible) return;
 
   if (!mSlicerManager) {
     std::cerr << "Error. No mSlicerManager ?" << std::endl;
@@ -118,3 +144,14 @@ void vvROIActor::UpdateSlice(int slicer, int slices) {
   // mSlicerManager->GetSlicer(slicer)->GetRenderWindow()->Render(); 
 }
 //------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvROIActor::SetOpacity(double d) {
+  mOpacity = d; 
+  for(unsigned int i=0; mOverlayActors.size(); i++) {
+    mOverlayActors[i]->SetOpacity(d);
+  }
+}
+//------------------------------------------------------------------------------
+