X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=vv%2FvvImageContour.cxx;h=88924c1895d5c27cd247a603419508e77f398d8f;hb=6b0d92d4e7580b5ba3d316aa90befd9464050d7f;hp=63df2cb784c3dcc9aa66d7a56cf81d9597f0530a;hpb=26bbfd8756d07eb73acbfe2fcfd77b3a4f3b52a9;p=clitk.git diff --git a/vv/vvImageContour.cxx b/vv/vvImageContour.cxx index 63df2cb..88924c1 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/01 07:37:25 $ + Version: $Revision: 1.4 $ 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,43 @@ void vvImageContour::setSlicer(vvSlicer * slicer) { mSquaresActorList.push_back(mSquaresActor); mSquaresList.push_back(mSquares); mClipperList.push_back(mClipper); + } +} +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +void vvImageContour::hideActors() { + if (!mSlicer) return; + mSlice = mSlicer->GetSlice(); + for(unsigned int i=0; iVisibilityOff(); } - //mSquares->Update(); } //------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +void vvImageContour::showActors() { + if (!mSlicer) return; + mSlice = mSlicer->GetSlice(); + mTSlice = mSlicer->GetTSlice(); + // for(unsigned int i=0; iVisibilityOn(); + update(mValue); + //} +} +//------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ void vvImageContour::update(int value) { - mSlice = mSlicer->GetSlice(); + 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 +146,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; }