Authors belong to:
- University of LYON http://www.universite-lyon.fr/
- - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
+ - Léon Bérard cancer center http://www.centreleonberard.fr
- CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
This software is distributed WITHOUT ANY WARRANTY; without even
- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
#include "vvStructureSetActor.h"
#include "vvROIActor.h"
//------------------------------------------------------------------------------
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);
+ clitk::DicomRT_ROI * roi = mStructureSet->GetROIFromROINumber(n);
if (roi == NULL) {
std::cerr << "Error. No ROI number " << n << std::endl;
exit(0);
// 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();
+ actor->Initialize(n+1); // depth is n+1 to start at 1
mMapROIIndex[n] = mROIActors.size()-1;
}
//------------------------------------------------------------------------------