X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualInteractorWindowLevel.cxx;h=20615fbcaae11f17729da6a3630210c86449a133;hb=d2fc2645728a4aea4f0aa0febfa1d7a894ab3ff1;hp=0be3029cf1920c451920411944d2a0932e77fbbd;hpb=a4ee3758aa0477f677fb981e2c4d6e29995e8db8;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx index 0be3029..20615fb 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx @@ -31,8 +31,29 @@ bool manualInteractorWindowLevel::OnMouseMove() // virtual wxVTKRenderWindowInteractor *wxVTKiren; wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor(); wxVTKiren->GetEventPosition( tmpPx , tmpPy ); - int colorWin=_backWindow - 2*( _backPx - tmpPx ); - int colorLev=_backLevel + 2*( _backPy - tmpPy ); + + + int colorWin; + int colorLev; + + + vtkImageData* imgrange = ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData(); + + if(imgrange != NULL){ + double* scalarrange = imgrange->GetScalarRange(); + double scalarr = scalarrange[1] - scalarrange[0]; + //std::cout<<"scalar r="<GetSize(&w, &h); + int dx = (scalarr*( _backPx - tmpPx ))/w; + int dy = (scalarr*( _backPy - tmpPy ))/h; + //colorWin=_backWindow - (scalarr)*( _backPx - tmpPx ); + colorWin=_backWindow - dx; + colorLev=_backLevel + dy; + }else{ + colorWin=_backWindow - 2*( _backPx - tmpPx ); + colorLev=_backLevel + 2*( _backPy - tmpPy ); + } if (colorWin<0) {