X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMeshActor.cxx;h=1d6f19b2465cf680439c19a440b890c4cd96f4b2;hb=b3d88d60218accc8ba078bc2d7fcc1e5e5befe59;hp=4ace9bb389239a1956477d035e51a8b7e8b48c95;hpb=477220f078d82fbcf976b0e4ca5c972a1a79bddd;p=clitk.git diff --git a/vv/vvMeshActor.cxx b/vv/vvMeshActor.cxx index 4ace9bb..1d6f19b 100644 --- a/vv/vvMeshActor.cxx +++ b/vv/vvMeshActor.cxx @@ -17,6 +17,7 @@ ===========================================================================**/ #include "vvMeshActor.h" #include "clitkCommon.h" +#include #include #include #include @@ -45,15 +46,28 @@ void vvMeshActor::Init(vvMesh::Pointer mesh,int time_slice,vvImage::Pointer vf) mMarching=vtkMarchingSquares::New(); mTimeSlice=time_slice; - if (static_cast(time_slice)GetNumberOfMeshes()) + if (static_cast(time_slice)GetNumberOfMeshes()) { +#if VTK_MAJOR_VERSION <= 5 mMarching->SetInput(mMesh->GetMask(time_slice)); - else +#else + mMarching->SetInputData(mMesh->GetMask(time_slice)); +#endif + } else { +#if VTK_MAJOR_VERSION <= 5 mMarching->SetInput(mMesh->GetMask(0)); +#else + mMarching->SetInputData(mMesh->GetMask(0)); +#endif + } mMarching->SetValue(0,0.5); //mMarching->Update(); mMapper=vtkPolyDataMapper::New(); +#if VTK_MAJOR_VERSION <= 5 mMapper->SetInput(mMarching->GetOutput()); +#else + mMapper->SetInputConnection(mMarching->GetOutputPort()); +#endif //The following line allows to display the contour over the image //(http://www.nabble.com/What-happens-when-two-actors-are-at-the-same-depth--td23175458.html) vtkMapper::SetResolveCoincidentTopologyToPolygonOffset(); @@ -63,6 +77,7 @@ void vvMeshActor::Init(vvMesh::Pointer mesh,int time_slice,vvImage::Pointer vf) mActor->GetProperty()->EdgeVisibilityOn(); mActor->GetProperty()->SetEdgeColor(mMesh->r,mMesh->g,mMesh->b); mActor->GetProperty()->SetLineWidth(2.); + mActor->GetProperty()->SetOpacity(0.995); //in order to get VTK to turn on the alpha-blending in OpenGL } void vvMeshActor::SetCutSlice(double slice) @@ -96,10 +111,19 @@ void vvMeshActor::SetCutSlice(double slice) void vvMeshActor::SetTimeSlice(int time) { mTimeSlice=time; - if (static_cast(time)GetNumberOfMasks()) + if (static_cast(time)GetNumberOfMasks()) { +#if VTK_MAJOR_VERSION <= 5 mMarching->SetInput(mMesh->GetMask(time)); - else +#else + mMarching->SetInputData(mMesh->GetMask(time)); +#endif + } else { +#if VTK_MAJOR_VERSION <= 5 mMarching->SetInput(mMesh->GetMask(0)); +#else + mMarching->SetInputData(mMesh->GetMask(0)); +#endif + } SetCutSlice(mCutSlice); //We need to find the new mask cut slice, //since masks do not all have the same origin }