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=f9901e756bb82bd333310b47607875331616bb29;hp=cde27ecfddadb323c610e6c6e02706445721d203;hpb=db334f20fd9ada7539efde5952135ddfc901a2f4;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx index cde27ec..aa398d4 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx @@ -43,11 +43,17 @@ vtkClipping3DDataViewer::vtkClipping3DDataViewer() _shade = false; _volumerendererdata = VolumeRendererData::New(); + +#if (VTK_MAJOR_VERSION <= 7) _volumeMapper = vtkVolumeRayCastMapper::New(); + _compositeFunction = vtkVolumeRayCastCompositeFunction::New(); + _compositeFunctionMIP = vtkVolumeRayCastMIPFunction::New(); +#else + _volumeMapper = vtkFixedPointVolumeRayCastMapper::New(); +#endif + _newvol = vtkVolume::New(); _volumeProperty = vtkVolumeProperty::New(); - _compositeFunction = vtkVolumeRayCastCompositeFunction::New(); - _compositeFunctionMIP = vtkVolumeRayCastMIPFunction::New(); } //------------------------------------------------------------------- @@ -61,13 +67,15 @@ vtkClipping3DDataViewer::~vtkClipping3DDataViewer() _tissuePlanes[i]->Delete(); _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(); @@ -79,11 +87,7 @@ vtkClipping3DDataViewer::~vtkClipping3DDataViewer() } _observerV-> Delete(); } -//------------------------------------------------------------------- -vtkActor* vtkClipping3DDataViewer::GetOutlineActor() -{ - return _outline; -} + //------------------------------------------------------------------- vtkClipPolyData* vtkClipping3DDataViewer::GetTissueClipper(int id) { @@ -210,9 +214,19 @@ void vtkClipping3DDataViewer::SetImage() vtkImageData *imagedata=_vtkmprbasedata->GetImageData(); for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++) { +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _mCubes[i]->SetInput( imagedata ); +#else + _mCubes[i]->SetInputData( imagedata ); +#endif } // for +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _volumeMapper->SetInput( imagedata ); +#else + _volumeMapper->SetInputData( imagedata ); +#endif _volumerendererdata->SetImageData( imagedata ); } @@ -227,21 +241,54 @@ void vtkClipping3DDataViewer::Configure_Tissue() { // Visualisation - original volume _mCubes[i] = vtkMarchingCubes::New( ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _mCubes[i]->SetInput( imagedata ); +#else + _mCubes[i]->SetInputData( imagedata ); +#endif + _mCubes[i]->SetValue( 0, range[1]*(4+i) / 8 ); // _mCubes[i]->SetValue( 0, 1500 ); _tissueStripper[i] = vtkStripper::New(); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _tissueStripper[i]->SetInput( _mCubes[i]->GetOutput( ) ); +#else + _tissueStripper[i]->SetInputData( _mCubes[i]->GetOutput( ) ); +#endif + _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]->SetInput( _tissueStripper[i]->GetOutput() ); _tissueClipper[i]->SetClipFunction( _tissuePlanes[i] ); _tissueClipper[i]->InsideOutOn( ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + _tissueClipper[i]->SetInput( _tissueStripper[i]->GetOutput() ); +#else + _tissueClipper[i]->SetInputData( _tissueStripper[i]->GetOutput() ); +#endif + _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 + + _tissueMapper[i]->ScalarVisibilityOff( ); // _tissueMapper[i]->Update(); } // for i @@ -256,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 } //----------------------------------------------------------------------------- @@ -352,11 +399,22 @@ void vtkClipping3DDataViewer::Configure_Volume() // EED 13/03/2011 // _volumeMapper = vtkVolumeRayCastMapper::New(); + + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _volumeMapper->SetInput( this->GetVtkMPRBaseData()->GetImageData() ); +#else + _volumeMapper->SetInputData( this->GetVtkMPRBaseData()->GetImageData() ); +#endif - _volumeMapper->SetVolumeRayCastFunction(_compositeFunction); - // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP); +#if (VTK_MAJOR_VERSION <= 7) + _volumeMapper->SetVolumeRayCastFunction(_compositeFunction); + // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP); +#else + // .. +#endif // _volumeMapper->SetClippingPlanes( _volumePlanes ); @@ -385,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 } //----------------------------------------------------------------------------- @@ -446,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) { @@ -483,18 +550,6 @@ void vtkClipping3DDataViewer::Configure() Configure_Tissue(); Configure_Volume(); Configure_VolumeBox(); - // An outline provides context around the data. - // - _outlineData = vtkOutlineFilter::New(); - _outlineData->SetInput((vtkDataSet *) _vtkmprbasedata->GetImageData() ); - _mapOutline = vtkPolyDataMapper::New(); - -//EED 4 nov 2015 Estelle -// _mapOutline->SetInput(_outlineData->GetOutput()); - - _outline = vtkActor::New(); - _outline->SetMapper(_mapOutline); - _outline->GetProperty()->SetColor(0,0,0); } @@ -502,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) @@ -514,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; } //------------------------------------------------------------------- @@ -773,7 +841,14 @@ void vtkClipping3DDataViewer::ReadMeshVTK(char *namefile) vtkDataSetReader *reader = vtkDataSetReader::New(); reader->SetFileName(namefile); reader->Update(); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 _tissueStripper[3]->SetInput( reader->GetPolyDataOutput() ); +#else + _tissueStripper[3]->SetInputData( reader->GetPolyDataOutput() ); +#endif + } void vtkClipping3DDataViewer::setColorTransferFunction(vtkColorTransferFunction* colortable){