//------------------------------------------------------------------------------
vvStructureSetActor::~vvStructureSetActor()
{
+
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
-std::vector<vvROIActor*> & vvStructureSetActor::GetROIList()
+std::vector< QSharedPointer<vvROIActor> > & vvStructureSetActor::GetROIList()
{
return mROIActors;
}
std::cerr << "No ROI number " << n << std::endl;
return NULL;
}
- return mROIActors[mMapROIIndex[n]];
+ return mROIActors[mMapROIIndex[n]].data();
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
-void vvStructureSetActor::CreateNewROIActor(int n)
+void vvStructureSetActor::CreateNewROIActor(int n, bool modeBG)
{
// Check
clitk::DicomRT_ROI * roi = mStructureSet->GetROI(n);
// 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);
actor->Initialize();