X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvImageContour.cxx;h=7318640f78d287209c4533c20605786ea33391f3;hb=996a050b898c093fa00462b1a4aa78b9a515cb2a;hp=63df2cb784c3dcc9aa66d7a56cf81d9597f0530a;hpb=26bbfd8756d07eb73acbfe2fcfd77b3a4f3b52a9;p=clitk.git diff --git a/vv/vvImageContour.cxx b/vv/vvImageContour.cxx index 63df2cb..7318640 100644 --- a/vv/vvImageContour.cxx +++ b/vv/vvImageContour.cxx @@ -3,8 +3,8 @@ Program: vv Module: $RCSfile: vvImageContour.cxx,v $ Language: C++ - Date: $Date: 2010/02/07 12:00:59 $ - Version: $Revision: 1.2 $ + Date: $Date: 2010/03/05 10:32:33 $ + Version: $Revision: 1.5 $ Author : David Sarrut (david.sarrut@creatis.insa-lyon.fr) Copyright (C) 2010 @@ -28,9 +28,12 @@ #include "vvImageContour.h" #include #include +#include #include #include #include +#include +#include //------------------------------------------------------------------------------ vvImageContour::vvImageContour() { @@ -57,7 +60,6 @@ void vvImageContour::setSlicer(vvSlicer * slicer) { mSlicer = slicer; for (unsigned int numImage = 0; numImage < mSlicer->GetImage()->GetVTKImages().size(); numImage++) { - // DD(numImage); vtkImageClip * mClipper = vtkImageClip::New(); vtkMarchingSquares * mSquares = vtkMarchingSquares::New(); vtkPolyDataMapper * mSquaresMapper = vtkPolyDataMapper::New(); @@ -76,17 +78,52 @@ void vvImageContour::setSlicer(vvSlicer * slicer) { mSquaresActorList.push_back(mSquaresActor); mSquaresList.push_back(mSquares); mClipperList.push_back(mClipper); + } +} +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +void vvImageContour::setColor(double r, double g, double b) { + for(unsigned int i=0; iGetProperty()->SetColor(r,g,b); } - //mSquares->Update(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ -void vvImageContour::update(int value) { +void vvImageContour::hideActors() { + if (!mSlicer) return; mSlice = mSlicer->GetSlice(); + for(unsigned int i=0; iVisibilityOff(); + } +} +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +void vvImageContour::showActors() { + if (!mSlicer) return; + mSlice = mSlicer->GetSlice(); + mTSlice = mSlicer->GetTSlice(); + // for(unsigned int i=0; iVisibilityOn(); + update(mValue); + //} +} +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +void vvImageContour::update(double value) { + mValue= value; + if (!mSlicer) return; + + // how to not update if not visible ? + + mSlice = mSlicer->GetSlice(); // Only change actor visibility if tslice change if (mTSlice != mSlicer->GetTSlice()) { if (mTSlice != -1) @@ -118,36 +155,30 @@ void vvImageContour::update(int value) { if (mSlicer->GetRenderer()->GetActiveCamera()->GetPosition()[0] > mSlice) { mSquaresActor->SetPosition(1,0,0); - // mSquaresActor2->SetPosition(1,0,0); } else { mSquaresActor->SetPosition(-1,0,0); - // mSquaresActor2->SetPosition(-1,0,0); } break; case 2: if (mSlicer->GetRenderer()->GetActiveCamera()->GetPosition()[1] > mSlice) { mSquaresActor->SetPosition(0,1,0); - // mSquaresActor2->SetPosition(0,1,0); } else { mSquaresActor->SetPosition(0,-1,0); - // mSquaresActor2->SetPosition(0,-1,0); } break; case 4: if (mSlicer->GetRenderer()->GetActiveCamera()->GetPosition()[2] > mSlice) { mSquaresActor->SetPosition(0,0,1); - // mSquaresActor2->SetPosition(0,0,1); } else { mSquaresActor->SetPosition(0,0,-1); - // mSquaresActor2->SetPosition(0,0,-1); } break; }