]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx
changes in vtkInteractorStyleBaseView2D. Check out the constructor of this class...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualInteractorWindowLevel.cxx
index 0be3029cf1920c451920411944d2a0932e77fbbd..20615fbcaae11f17729da6a3630210c86449a133 100644 (file)
@@ -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="<<scalarr<<std::endl;
+                       int w, h;
+                       ((wxWindow*)wxVTKiren)->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)
                {