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
- ======================================================================-====*/
+ ===========================================================================**/
// vv
#include "vvROIActor.h"
mContourWidth = 1;
mContourColor.resize(3);
m_modeBG = true;
+ mDepth = 1.0;
}
//------------------------------------------------------------------------------
{
mOverlayActors.clear();
mImageContour.clear();
- Initialize(mIsVisible);
+ Initialize(mDepth, mIsVisible);
Update(); // No Render
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
-void vvROIActor::Initialize(bool IsVisible) {
+void vvROIActor::Initialize(double depth, bool IsVisible) {
if (mROI->GetImage()) {
mImageContour.clear();
mOverlayActors.clear();
+ mDepth = depth;
for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
mImageContour.push_back(vvImageContour::New());
mImageContour[i]->SetColor(mContourColor[0], mContourColor[1], mContourColor[2]);
mImageContour[i]->SetLineWidth(mContourWidth);
mImageContour[i]->SetPreserveMemoryModeEnabled(true);
+ mImageContour[i]->SetDepth(mDepth);
//mImageContour[i]->SetPreserveMemoryModeEnabled(false); // SEG FAULT !!!
mImageContour[i]->SetSlicer(mSlicerManager->GetSlicer(i));
mImageContour[i]->HideActors();
mROI->GetDisplayColor()[2]);
mOverlayActors[i]->SetOpacity(mOpacity);
mOverlayActors[i]->SetSlicer(mSlicerManager->GetSlicer(i));
- mOverlayActors[i]->Initialize(IsVisible);
+ mOverlayActors[i]->Initialize(IsVisible);
+ mOverlayActors[i]->SetDepth(mDepth);
}
connect(mSlicerManager,SIGNAL(UpdateSlice(int,int)),this,SLOT(UpdateSlice(int, int)));
//------------------------------------------------------------------------------
-void vvROIActor::Update()
+void vvROIActor::SetDepth(double d)
+{
+ mDepth = d;
+ for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
+ mOverlayActors[i]->SetDepth(d);
+ mImageContour[i]->SetDepth(d);
+ }
+ Update(true);
+}
+//------------------------------------------------------------------------------
+
+
+//------------------------------------------------------------------------------
+void vvROIActor::Update(bool force)
{
for(int i=0; i<mSlicerManager->GetNumberOfSlicers(); i++) {
- UpdateSlice(i, mSlicerManager->GetSlicer(i)->GetSlice());
+ UpdateSlice(i, mSlicerManager->GetSlicer(i)->GetSlice(), force);
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
-void vvROIActor::UpdateSlice(int slicer, int slices)
+void vvROIActor::UpdateSlice(int slicer, int slices, bool force)
{
if (!mROI->GetImage()) return;
if ((!mIsVisible) && (!mIsContourVisible)) return;
}
// Refresh overlays
- mOverlayActors[slicer]->UpdateSlice(slicer, slices);
+ mOverlayActors[slicer]->UpdateSlice(slicer, slices, force);
}
//------------------------------------------------------------------------------