X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkClipping3DDataViewer.cxx;h=aa398d488971528129d01e2c83955763b62c0f49;hb=a906c7009b5c3c2ef5263f4d84ba13be7d4549ff;hp=1e723a13e09b5973e0d1cbf9aa096a721d2c89ac;hpb=4645482ed1eae5aaabdd813b784acafd13c41179;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx index 1e723a1..aa398d4 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx @@ -31,7 +31,8 @@ vtkClipping3DDataViewer::vtkClipping3DDataViewer() { int i; - for (i=0; iDelete(); _tissueClipper[i]->Delete(); } - _outlineData->Delete(); - _mapOutline->Delete(); - _outline->Delete(); + // Volume _tfun->Delete(); _ctfun->Delete(); +#if (VTK_MAJOR_VERSION <= 7) _compositeFunction->Delete(); +#else + // .. +#endif _volumeMapper->Delete(); _volumeProperty->Delete(); _newvol->Delete(); @@ -78,11 +87,7 @@ vtkClipping3DDataViewer::~vtkClipping3DDataViewer() } _observerV-> Delete(); } -//------------------------------------------------------------------- -vtkActor* vtkClipping3DDataViewer::GetOutlineActor() -{ - return _outline; -} + //------------------------------------------------------------------- vtkClipPolyData* vtkClipping3DDataViewer::GetTissueClipper(int id) { @@ -258,8 +263,10 @@ void vtkClipping3DDataViewer::Configure_Tissue() _tissuePlanes[i] = vtkPlanes::New(); int x1,x2,y1,y2,z1,z2; imagedata->GetExtent(x1,x2,y1,y2,z1,z2); - _tissuePlanes[i]->SetBounds (x1,x2,y1,y2,z1,z2); + _tissuePlanes[i]->SetBounds(x1,x2,y1,y2,z1,z2); _tissueClipper[i] = vtkClipPolyData::New(); + _tissueClipper[i]->SetClipFunction( _tissuePlanes[i] ); + _tissueClipper[i]->InsideOutOn( ); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 @@ -268,15 +275,17 @@ void vtkClipping3DDataViewer::Configure_Tissue() _tissueClipper[i]->SetInputData( _tissueStripper[i]->GetOutput() ); #endif - _tissueClipper[i]->SetClipFunction( _tissuePlanes[i] ); - _tissueClipper[i]->InsideOutOn( ); _tissueMapper[i] = vtkPolyDataMapper::New( ); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 _tissueMapper[i]->SetInput( _tissueClipper[i]->GetOutput() ); #else + _mCubes[i]->Update(); + _tissueStripper[i]->Update(); + _tissueClipper[i]->Update(); _tissueMapper[i]->SetInputData( _tissueClipper[i]->GetOutput() ); + _tissueMapper[i]->Update(); #endif @@ -294,19 +303,19 @@ void vtkClipping3DDataViewer::Configure_Tissue() _tissue[i]->GetProperty()->SetSpecular(.3); _tissue[i]->GetProperty()->SetSpecularPower(20); _tissue[i]->GetProperty()->SetOpacity(0.5); - if (i==0) _tissue[i]->GetProperty()->SetColor(0.85, 0.85 , 0.85 ); - if (i==1) _tissue[i]->GetProperty()->SetColor(0, 0 , 1 ); - if (i==2) _tissue[i]->GetProperty()->SetColor(0.85, 0.20 , 0.20 ); - if (i==3) _tissue[i]->GetProperty()->SetColor(0, 1 , 0 ); - } + if (i==0) { _tissue[i]->GetProperty()->SetColor(0.85, 0.85 , 0.85 ); } + if (i==1) { _tissue[i]->GetProperty()->SetColor(0, 0 , 1 ); } + if (i==2) { _tissue[i]->GetProperty()->SetColor(0.85, 0.20 , 0.20 ); } + if (i==3) { _tissue[i]->GetProperty()->SetColor(0, 1 , 0 ); } + } // for for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++) { _observerS[i] = boxSurfaceObserver::New(); _observerS[i]->SetPlanes( GetTissuePlanes(i) ); _observerS[i]->SetActor( _tissue[i] ); - } - + _observerS[i]->SetFilters( _mCubes[i], _tissueStripper[i] ,_tissueClipper[i] ); + } // for } //----------------------------------------------------------------------------- @@ -400,9 +409,12 @@ void vtkClipping3DDataViewer::Configure_Volume() #endif +#if (VTK_MAJOR_VERSION <= 7) _volumeMapper->SetVolumeRayCastFunction(_compositeFunction); - - // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP); + // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP); +#else + // .. +#endif // _volumeMapper->SetClippingPlanes( _volumePlanes ); @@ -431,7 +443,12 @@ void vtkClipping3DDataViewer::Configure_Volume() _observerV = boxSurfaceObserver::New(); _observerV->SetPlanes( _volumePlanes ); _observerV->SetActor( _newvol ); + +#if (VTK_MAJOR_VERSION <= 7) _observerV->SetvtkVolumeRayCastMapper( _volumeMapper ); +#else + _observerV->SetvtkFixedPointVolumeRayCastMapper( _volumeMapper ); +#endif } //----------------------------------------------------------------------------- @@ -492,16 +509,20 @@ void vtkClipping3DDataViewer::UpdateVolumeBox(vector gf, vector void vtkClipping3DDataViewer::updateVolume() { +#if (VTK_MAJOR_VERSION <= 7) if(_isRayCasting) { _volumeMapper->SetVolumeRayCastFunction(_compositeFunction); _volumerendererdata->changeCompositeMIPFunction(0); - } - else if(_isMIP) - { + } else if(_isMIP) { _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP); _volumerendererdata->changeCompositeMIPFunction(1); } +#else + // ... here Composition of MIP + printf("EED vtkClipping3DDataViewer::updateVolume ... here Composition or MIP \n"); +#endif + if(_interpolation) { @@ -529,25 +550,6 @@ void vtkClipping3DDataViewer::Configure() Configure_Tissue(); Configure_Volume(); Configure_VolumeBox(); - // An outline provides context around the data. - // - _outlineData = vtkOutlineFilter::New(); - -//EED 2017-01-01 Migration VTK7 -#if VTK_MAJOR_VERSION <= 5 - _outlineData->SetInput((vtkDataSet *) _vtkmprbasedata->GetImageData() ); -#else - _outlineData->SetInputData((vtkDataSet *) _vtkmprbasedata->GetImageData() ); -#endif - - _mapOutline = vtkPolyDataMapper::New(); - -//EED 4 nov 2015 Estelle -// _mapOutline->SetInput(_outlineData->GetOutput()); - - _outline = vtkActor::New(); - _outline->SetMapper(_mapOutline); - _outline->GetProperty()->SetColor(0,0,0); } @@ -555,6 +557,14 @@ void vtkClipping3DDataViewer::Configure() void vtkClipping3DDataViewer::SetIsovalue(int idTissue, int isoValue) { _mCubes[idTissue]->SetValue(0, isoValue); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + // .. +#else + _mCubes[idTissue]->Update(); + _tissueStripper[idTissue]->Update(); + _tissueClipper[idTissue]->Update(); +#endif } //------------------------------------------------------------------- double vtkClipping3DDataViewer::GetIsovalue(int idTissue) @@ -567,7 +577,12 @@ vtkVolume* vtkClipping3DDataViewer::GetVolumeActor() return _newvol; } //------------------------------------------------------------------- -vtkVolumeRayCastMapper* vtkClipping3DDataViewer::GetVolumeMapper(){ +#if (VTK_MAJOR_VERSION <= 7) + vtkVolumeRayCastMapper* vtkClipping3DDataViewer::GetVolumeMapper() +#else + vtkFixedPointVolumeRayCastMapper* vtkClipping3DDataViewer::GetVolumeMapper() +#endif +{ return _volumeMapper; } //-------------------------------------------------------------------