X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.cxx;h=d9f0d137748f35d836b0038ff4187841ca374f4c;hb=447b33d987bae78fbf4e7fcb90057b6c89c0b7b8;hp=64df64cc477c49bce573e86299ea34c08e5ad458;hpb=931a42358442f4ee4f314613c991c838d4b4e3b7;p=clitk.git diff --git a/vv/vvSlicer.cxx b/vv/vvSlicer.cxx index 64df64c..d9f0d13 100644 --- a/vv/vvSlicer.cxx +++ b/vv/vvSlicer.cxx @@ -1,10 +1,7 @@ /*========================================================================= Program: vv -Module: $RCSfile: vvSlicer.cxx,v $ Language: C++ -Date: $Date: 2010/01/06 13:31:58 $ -Version: $Revision: 1.1 $ Author : Pierre Seroul (pierre.seroul@gmail.com) Copyright (C) 2008 @@ -75,7 +72,7 @@ along with this program. If not, see . #include #include -vtkCxxRevisionMacro(vvSlicer, "$Revision: 1.1 $"); +vtkCxxRevisionMacro(vvSlicer, "DummyRevision"); vtkStandardNewMacro(vvSlicer); vvSlicer::vvSlicer() @@ -241,14 +238,16 @@ void vvSlicer::SetOverlay(vvImage::Pointer overlay) mOverlayMapper->SetInput(overlay->GetVTKImages()[0]); if (!mOverlayActor) + { mOverlayActor = vtkImageActor::New(); - mOverlayActor->SetInput(mOverlayMapper->GetOutput()); - mOverlayActor->SetPickable(0); - mOverlayActor->SetVisibility(false); - mOverlayActor->SetOpacity(0.5); - this->UpdateDisplayExtent(); + mOverlayActor->SetInput(mOverlayMapper->GetOutput()); + mOverlayActor->SetPickable(0); + mOverlayActor->SetVisibility(false); + mOverlayActor->SetOpacity(0.5); + this->UpdateDisplayExtent(); + } - //stupid but necessary : the Overlay need to be render before fusion + //stupid but necessary : the Overlay need to be rendered before fusion if (mFusionActor) { this->GetRenderer()->RemoveActor(mFusionActor); @@ -274,13 +273,15 @@ void vvSlicer::SetFusion(vvImage::Pointer fusion) mFusionMapper->SetInput(fusion->GetVTKImages()[0]); if (!mFusionActor) + { mFusionActor = vtkImageActor::New(); - mFusionActor->SetInput(mFusionMapper->GetOutput()); - mFusionActor->SetPickable(0); - mFusionActor->SetVisibility(false); - mFusionActor->SetOpacity(0.7); - this->UpdateDisplayExtent(); - this->GetRenderer()->AddActor(mFusionActor); + mFusionActor->SetInput(mFusionMapper->GetOutput()); + mFusionActor->SetPickable(0); + mFusionActor->SetVisibility(false); + mFusionActor->SetOpacity(0.7); + this->UpdateDisplayExtent(); + this->GetRenderer()->AddActor(mFusionActor); + } //Synchronize slice SetTSlice(mCurrentTSlice); @@ -480,60 +481,18 @@ void vvSlicer::SetTSlice(int t) this->SetInput(mImage->GetVTKImages()[t]); if (mVF && mVFActor->GetVisibility()) { - if (mVF->GetVTKImages().size() == 1) - { - mVOIFilter->SetInput(mVF->GetVTKImages()[0]); - } - else if (mVF->GetVTKImages().size() <= (unsigned int)mCurrentTSlice) - { - Renderer->RemoveActor(mVFActor); - } - else - { - if (!Renderer->HasViewProp(mVFActor)) - { - Renderer->AddActor(mVFActor); - } + if (mVF->GetVTKImages().size() > (unsigned int)mCurrentTSlice) mVOIFilter->SetInput(mVF->GetVTKImages()[mCurrentTSlice]); - } } if (mOverlay && mOverlayActor->GetVisibility()) { - if (mOverlay->GetVTKImages().size() == 1) - { - mOverlayMapper->SetInput(mOverlay->GetVTKImages()[0]); - } - else if (mOverlay->GetVTKImages().size() <= (unsigned int)mCurrentTSlice) - { - Renderer->RemoveActor(mOverlayActor); - } - else - { - if (!Renderer->HasViewProp(mOverlayActor)) - { - Renderer->AddActor(mOverlayActor); - } + if (mOverlay->GetVTKImages().size() > (unsigned int)mCurrentTSlice) mOverlayMapper->SetInput(mOverlay->GetVTKImages()[mCurrentTSlice]); - } } if (mFusion && mFusionActor->GetVisibility()) { - if (mFusion->GetVTKImages().size() == 1) - { - mFusionMapper->SetInput(mFusion->GetVTKImages()[0]); - } - else if (mFusion->GetVTKImages().size() <= (unsigned int)mCurrentTSlice) - { - Renderer->RemoveActor(mFusionActor); - } - else - { - if (!Renderer->HasViewProp(mFusionActor)) - { - Renderer->AddActor(mFusionActor); - } + if (mFusion->GetVTKImages().size() > (unsigned int)mCurrentTSlice) mFusionMapper->SetInput(mFusion->GetVTKImages()[mCurrentTSlice]); - } } if (mSurfaceCutActors.size() > 0) for (std::vector::iterator i=mSurfaceCutActors.begin();