X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtk2DBaseView.cxx;h=b587d760697b15c38da2f51ba2d7e1e8786e17b9;hb=18e94aa5dd7f7d3cd2835906a879253bbd14407b;hp=fa26572f836005c976c57b10cc5bea4c9cd68c40;hpb=6a3077638c3045db3888c8c5641d141ff078c8dc;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx index fa26572..b587d76 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx @@ -75,7 +75,26 @@ void wxVtk2DBaseView::ResetView() _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren ); _imageViewer2XYZ->GetVtkImageViewer2()->Render(); - SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() ); + + ////////////// + //RaC 04-2010 Look for the description of new changes in vtkInteractorStyleBaseView2D constructor. + // + // Previous version + // SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() ); + // + // Actual version + vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New(); + + manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel(); + style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel ); + + vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ(); + style2D->SetInteractorScrollZ(_vtkInteractorScrollZ); + + SetInteractorStyleImage( style2D ); + + // RaC + ////////////// } @@ -93,7 +112,26 @@ void wxVtk2DBaseView::Configure(bool okimage) _imageViewer2XYZ = new vtkImageViewer2_XYZ(); wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren ); - SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() ); + + ////////////// + //RaC 04-2010 Look for the description of new changes in vtkInteractorStyleBaseView2D constructor. + // + // Previous version + // SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() ); + // + // Actual version + vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New(); + + manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel(); + style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel ); + + vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ(); + style2D->SetInteractorScrollZ(_vtkInteractorScrollZ); + + SetInteractorStyleImage( style2D ); + + // RaC + ////////////// } @@ -105,19 +143,17 @@ void wxVtk2DBaseView::Configure(bool okimage) if (okimage==true){ imageData->GetSpacing (spx,spy,spz); imageData->GetExtent (x1,x2,y1,y2,z1,z2); - - _imageViewer2XYZ->GetVtkImageViewer2()->SetInput(imageData ); _imageViewer2XYZ->SetExtentDimension(x1,x2,y1,y2,z1,z2); double range[2]; - imageData->GetScalarRange(range); - if (range[1]<20000){ + imageData->GetScalarRange(range); + if (range[1]<20000){ _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( (range[1]-range[0])/2 ); _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( (range[1]+range[0])/4 ); - } else { + } else { _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( 1000 ); _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( 500 ); - } + } // EED 31 Janvier 2007 //vtkImageActor *vtkimageactor = _imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor (); //vtkimageactor->InterpolateOff (); @@ -154,16 +190,18 @@ void wxVtk2DBaseView::Configure(bool okimage) camera->SetParallelScale( spx*(x2-x1)/3.0 ); // text information over the graphic window - _vtkIinfoTextImage = new vtkInfoTextImage(); - _vtkIinfoTextImageInteractor = new vtkInfoTextImageInteractor(); + if(_vtkIinfoTextImage == NULL){ + _vtkIinfoTextImage = new vtkInfoTextImage(); + _vtkIinfoTextImageInteractor = new vtkInfoTextImageInteractor(); + ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor); + } _vtkIinfoTextImage->SetWxVtk2DBaseView(this); _vtkIinfoTextImage->SetMarImageData( GetVtkBaseData()->GetMarImageData() ); - _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage); + _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage); _vtkIinfoTextImage->Configure(); - ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor); + } // okimage } // imageData - } //------------------------------------------------------------------- @@ -249,12 +287,16 @@ void wxVtk2DBaseView::setColorTransferFunction(vtkColorTransferFunction* colorta } void wxVtk2DBaseView::setWindowLevel(double level){ - _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level); - +// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level); + + vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel(); + imagemaptowindowlevel->SetWindow(level); this->Refresh(); } void wxVtk2DBaseView::setColorLevel(double level){ - _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level); +// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level); + vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel(); + imagemaptowindowlevel->SetLevel(level); this->Refresh(); }