X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtk2DBaseView.cxx;h=2942530922006dc77d2baf1782440b45a69887f7;hb=688e59e2d8a0f8db3d28dfd5b2f8a256903b2714;hp=3879377f94e3ba33d93aae257bed0007e9f3e8e8;hpb=dea0efc567d8332b2e7eb936e3ba4ac1c11b2542;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx index 3879377..2942530 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx @@ -101,14 +101,19 @@ void wxVtk2DBaseView::ResetView() double spx = 0,spy = 0,spz = 0; int x1 = 1,x2 = 1,y1 = 1,y2 = 1,z1 = 1,z2 = 1; wxVtkBaseView::Configure(); - wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); + crea::wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); vtkImageData *imageData = GetVtkBaseData()->GetImageData(); if(imageData) { +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 imageData->UpdateInformation(); imageData->SetUpdateExtent( imageData->GetWholeExtent()); imageData->Update(); _imageViewer2XYZ->GetVtkImageViewer2()->SetInput(imageData ); +#else + _imageViewer2XYZ->GetVtkImageViewer2()->SetInputData(imageData ); +#endif imageData->GetSpacing (spx,spy,spz); imageData->GetExtent (x1,x2,y1,y2,z1,z2); } @@ -119,7 +124,7 @@ printf("//EED wxVtk2DBaseView::ResetView %d %d %d %d %d %d \n",x1,x2,y1,y //EED 24oct2010 _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->Modified(); - _imageViewer2XYZ->GetVtkImageViewer2()->Render(); +//EED2120-06-23 _imageViewer2XYZ->GetVtkImageViewer2()->Render(); ////////////// //RaC 04-2010 Look for the description of new changes in vtkInteractorStyleBaseView2D constructor. @@ -136,6 +141,11 @@ printf("//EED wxVtk2DBaseView::ResetView %d %d %d %d %d %d \n",x1,x2,y1,y vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ(); style2D->SetInteractorScrollZ(_vtkInteractorScrollZ); + vtkInteractorZoomCamera *_vtkInteractorZoomCamera = new vtkInteractorZoomCamera(); + style2D->SetInteractorZoomCamera(_vtkInteractorZoomCamera); + + + SetInteractorStyleImage( style2D ); // RaC @@ -147,12 +157,19 @@ printf("//EED wxVtk2DBaseView::ResetView %d %d %d %d %d %d \n",x1,x2,y1,y void wxVtk2DBaseView::SetImageToVtkViewer(vtkImageData *imageData) { int ext[6]; - imageData->Update(); - imageData->GetWholeExtent(ext); if (_imageViewer2XYZ!=NULL) { +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + imageData->Update(); + imageData->GetWholeExtent(ext); _imageViewer2XYZ->SetExtentDimension( ext[0],ext[1],ext[2],ext[3],ext[4],ext[5] ); _imageViewer2XYZ->GetVtkImageViewer2()->SetInput( imageData ); +#else + imageData->GetExtent(ext); + _imageViewer2XYZ->SetExtentDimension( ext[0],ext[1],ext[2],ext[3],ext[4],ext[5] ); + _imageViewer2XYZ->GetVtkImageViewer2()->SetInputData( imageData ); +#endif } // if _imageViewer2XYZ GetRenderer()->GetActiveCamera()->SetClippingRange(0.01, 1000000); @@ -170,7 +187,7 @@ void wxVtk2DBaseView::Configure(bool okimage) if (_imageViewer2XYZ==NULL) { _imageViewer2XYZ = new vtkImageViewer2_XYZ(); - wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); + crea::wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren ); ////////////// @@ -188,6 +205,9 @@ void wxVtk2DBaseView::Configure(bool okimage) vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ(); style2D->SetInteractorScrollZ(_vtkInteractorScrollZ); + vtkInteractorZoomCamera *_vtkInteractorZoomCamera = new vtkInteractorZoomCamera(); + style2D->SetInteractorZoomCamera(_vtkInteractorZoomCamera); + SetInteractorStyleImage( style2D ); // RaC @@ -197,9 +217,16 @@ void wxVtk2DBaseView::Configure(bool okimage) vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData(); if (imageData!=NULL) { + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 imageData->UpdateInformation(); imageData->SetUpdateExtent( imageData->GetWholeExtent()); imageData->Update(); +#else + //... +#endif + if (okimage==true){ imageData->GetSpacing (spx,spy,spz); imageData->GetExtent (x1,x2,y1,y2,z1,z2); @@ -252,7 +279,10 @@ void wxVtk2DBaseView::Configure(bool okimage) camera->SetClippingRange( 0.01 , 1000000 ); camera->ComputeViewPlaneNormal(); - camera->SetParallelScale( spx*(x2-x1)/3.0 ); + + double cameraparallelScale=spx*(x2-x1)/3.0; + camera->SetParallelScale( cameraparallelScale ); + GetVtkBaseData()->SetCameraParallelScale( cameraparallelScale ); // text information over the graphic window if(_vtkIinfoTextImage == NULL){ @@ -288,18 +318,19 @@ void wxVtk2DBaseView::UpdateColorWindowLevel() //EED 24oct2010 //EED 02nov2012 -// vtkImageViewer2 *vtkimageviewer2 = _imageViewer2XYZ->GetVtkImageViewer2(); - vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel(); imagemaptowindowlevel->SetWindow( GetVtkBaseData()->GetColorWindow() ); imagemaptowindowlevel->SetLevel( GetVtkBaseData()->GetColorLevel() ); - -// EED Borrame -// vtkimageviewer2->SetColorWindow( GetVtkBaseData()->GetColorWindow() ); -// vtkimageviewer2->SetColorLevel( GetVtkBaseData()->GetColorLevel() ); _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->Modified(); } +//------------------------------------------------------------------- +void wxVtk2DBaseView::UpdateCameraParallelScale() +{ + vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera(); + camera->SetParallelScale( GetVtkBaseData()->GetCameraParallelScale() ); +} + //------------------------------------------------------------------- void wxVtk2DBaseView::Refresh() { @@ -310,6 +341,7 @@ void wxVtk2DBaseView::Refresh() imageactor->SetInterpolate( GetVtkBaseData()->GetInterpolate() ); //EED 01nov2012 UpdateColorWindowLevel(); + UpdateCameraParallelScale(); wxVtkBaseView::Refresh(); } @@ -317,7 +349,7 @@ void wxVtk2DBaseView::Refresh() void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *interactorstylebaseview) { SetInteractorStyleBaseView(interactorstylebaseview); - wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); + crea::wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); interactorstylebaseview->SetInteractor ( iren ); iren->SetInteractorStyle(interactorstylebaseview); interactorstylebaseview->SetwxVtkBaseView(this); @@ -394,3 +426,13 @@ int wxVtk2DBaseView::GetDirection() // virtual return 2; } +//------------------------------------------------------------------- +void wxVtk2DBaseView::SetOpacityText(double opacity) +{ + if (_vtkIinfoTextImage!=NULL) + { + _vtkIinfoTextImage->SetOpacity( opacity ); + } +} + +