]> Creatis software - clitk.git/blobdiff - vv/vvROIActor.cxx
*** empty log message ***
[clitk.git] / vv / vvROIActor.cxx
index 7a07b2963b93aeb67b350b441827391aba1dc17c..253a2901ab3e0ba030bab1ac8ab0be382bf3fae8 100644 (file)
@@ -88,7 +88,7 @@ void vvROIActor::UpdateImage()
     mImageContour[i]->HideActors();
     delete mImageContour[i];
   }
-  Initialize();
+  Initialize(mIsVisible);
   Update(); // No Render
 }
 //------------------------------------------------------------------------------
@@ -143,11 +143,11 @@ bool vvROIActor::IsContourVisible() {
 
 
 //------------------------------------------------------------------------------
-void vvROIActor::Initialize() {
+void vvROIActor::Initialize(bool IsVisible) {
   if (mROI->GetImage()) {
     mImageContour.clear();
     mOverlayActors.clear();
-    for(int i=0; i<mSlicerManager->NumberOfSlicers(); i++) {
+    for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
       mImageContour.push_back(new vvImageContour);
       mImageContour[i]->SetSlicer(mSlicerManager->GetSlicer(i));
       mImageContour[i]->SetImage(mROI->GetImage());
@@ -157,6 +157,7 @@ void vvROIActor::Initialize() {
       mImageContour[i]->SetColor(mContourColor[0], mContourColor[1], mContourColor[2]);
       mImageContour[i]->SetLineWidth(mContourWidth);
       mImageContour[i]->SetPreserveMemoryModeEnabled(true);
+      //mImageContour[i]->SetPreserveMemoryModeEnabled(false); // SEG FAULT !!!
       mImageContour[i]->SetSlicer(mSlicerManager->GetSlicer(i));
       mImageContour[i]->HideActors();
       
@@ -176,7 +177,7 @@ void vvROIActor::Initialize() {
                                   mROI->GetDisplayColor()[2]);
       mOverlayActors[i]->SetOpacity(mOpacity);
       mOverlayActors[i]->SetSlicer(mSlicerManager->GetSlicer(i));
-      mOverlayActors[i]->Initialize();
+      mOverlayActors[i]->Initialize(IsVisible);
     }
 
     connect(mSlicerManager,SIGNAL(UpdateSlice(int,int)),this,SLOT(UpdateSlice(int, int)));
@@ -190,7 +191,7 @@ void vvROIActor::Initialize() {
 //------------------------------------------------------------------------------
 void vvROIActor::Update()
 {
-  for(int i=0; i<mSlicerManager->NumberOfSlicers(); i++) {
+  for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
     UpdateSlice(i, mSlicerManager->GetSlicer(i)->GetSlice());
   }
 }
@@ -271,15 +272,14 @@ double vvROIActor::GetOpacity()
 //------------------------------------------------------------------------------
 void vvROIActor::SetSelected(bool b)
 {
-  DD(" Not used yet");
   mIsSelected = b;
   if (b) {
-    for(int i=0; i<mSlicerManager->NumberOfSlicers(); i++) {
+    for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
       mImageContour[i]->SetLineWidth(3.0);
       mImageContour[i]->ShowActors();
     }
   } else {
-    for(int i=0; i<mSlicerManager->NumberOfSlicers(); i++) {
+    for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
       mImageContour[i]->HideActors();
     }
   }