]> Creatis software - clitk.git/blobdiff - vv/vvStructureSetActor.cxx
Remove reslice from vvImage. The transform is kept but it's up to the user to use...
[clitk.git] / vv / vvStructureSetActor.cxx
index b6f08f86af87f4b5c05b057894faf37dd2eaa620..86fcdb1a6db0819c45f24a53f0ef911958473bc4 100644 (file)
@@ -30,6 +30,7 @@ vvStructureSetActor::vvStructureSetActor()
 //------------------------------------------------------------------------------
 vvStructureSetActor::~vvStructureSetActor()
 {
+
 }
 //------------------------------------------------------------------------------
 
@@ -43,7 +44,7 @@ int vvStructureSetActor::GetNumberOfROIs()
 
 
 //------------------------------------------------------------------------------
-std::vector<vvROIActor*> & vvStructureSetActor::GetROIList() 
+std::vector< QSharedPointer<vvROIActor> > & vvStructureSetActor::GetROIList() 
 { 
   return mROIActors; 
 }
@@ -73,7 +74,7 @@ vvROIActor * vvStructureSetActor::GetROIActor(int n)
     std::cerr << "No ROI number " << n << std::endl;
     return NULL;
   }
-  return mROIActors[mMapROIIndex[n]];
+  return mROIActors[mMapROIIndex[n]].data();
 }
 //------------------------------------------------------------------------------
 
@@ -90,15 +91,15 @@ void vvStructureSetActor::CreateNewROIActor(int n, bool modeBG)
 
   // If already exist : delete it
   int old = -1;
-  if (mMapROIIndex.find(n) != mMapROIIndex.end()) {
-    delete mROIActors[mMapROIIndex[n]];
+  if (mMapROIIndex.find(n) != mMapROIIndex.end())
     old = mMapROIIndex[n];
-  }
 
   // Add ROI Actors
-  vvROIActor * actor = new vvROIActor;
-  if (old == -1) mROIActors.push_back(actor);
-  else mROIActors[old] = actor;
+  QSharedPointer<vvROIActor> actor = QSharedPointer<vvROIActor>(new vvROIActor);
+  if (old == -1)
+    mROIActors.push_back(actor);
+  else
+    mROIActors[old] = actor;
   actor->SetBGMode(modeBG);
   actor->SetROI(roi);
   actor->SetSlicerManager(mSlicerManager);