manualInteractorWindowLevel.cxx

Go to the documentation of this file.
00001 
00002 #include "manualInteractorWindowLevel.h"
00003 #include "wxVtk2DBaseView.h"
00004 //-------------------------------------------------------------------
00005 //-------------------------------------------------------------------
00006 //-------------------------------------------------------------------
00007 
00008 manualInteractorWindowLevel::manualInteractorWindowLevel()
00009 {
00010         _stateWindowLevel       =       false;
00011         _backPx                         =       0;
00012         _backPy                         =       0;
00013         _backWindow                     =       -1;
00014         _backLevel                      =       -1;
00015 }
00016 
00017 //-------------------------------------------------------------------
00018 
00019 manualInteractorWindowLevel::~manualInteractorWindowLevel()
00020 {
00021 }
00022 
00023 //-------------------------------------------------------------------
00024 
00025 bool manualInteractorWindowLevel::OnMouseMove()                 // virtual 
00026 {
00027 
00028         if (_stateWindowLevel==true)
00029         {
00030                 int tmpPx,tmpPy;
00031                 wxVTKRenderWindowInteractor *wxVTKiren;
00032                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
00033                 wxVTKiren->GetEventPosition( tmpPx , tmpPy );
00034                 int colorWin=_backWindow - 2*( _backPx - tmpPx );
00035                 int colorLev=_backLevel  + 2*( _backPy - tmpPy );       
00036 
00037                 if (colorWin<0)
00038                 { 
00039                         colorWin=0;
00040                 }
00041                 if (colorWin>100000)
00042                 { 
00043                         colorWin=100000;
00044                 }       
00045 
00046                 if (colorLev<0)
00047                 { 
00048                         colorLev=0;
00049                 }
00050                 if (colorLev>100000)
00051                 { 
00052                         colorLev=100000;
00053                 }
00054                 vtkImageViewer2 *vtkimageviewer2;
00055                 vtkimageviewer2=((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->_imageViewer2XYZ->GetVtkImageViewer2();
00056                 vtkimageviewer2->SetColorWindow(colorWin);
00057                 vtkimageviewer2->SetColorLevel(colorLev);
00058 //              vtkimageviewer2->Render();
00059         }
00060         return true;
00061 }
00062 
00063 //-------------------------------------------------------------------
00064 
00065 bool manualInteractorWindowLevel::OnMiddleButtonDown()  // virtual 
00066 {
00067         if ((_vtkInteractorStyleBaseView->GetInteractor()->GetControlKey()==0) &&
00068                 (_vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey()==0) ){
00069 
00070                 _stateWindowLevel       = true;
00071                 wxVTKRenderWindowInteractor *wxVTKiren;
00072                 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
00073                 wxVTKiren->GetEventPosition( _backPx , _backPy );
00074 
00075                 _backWindow = (int)(((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->_imageViewer2XYZ->GetVtkImageViewer2()->GetColorWindow());
00076                 _backLevel  = (int)(((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->_imageViewer2XYZ->GetVtkImageViewer2()->GetColorLevel());
00077         }
00078         return true;
00079 }
00080 
00081 //-------------------------------------------------------------------
00082 
00083 bool manualInteractorWindowLevel::OnMiddleButtonUp()            // virtual
00084 {
00085         if (_stateWindowLevel==true)
00086         {
00087                 _stateWindowLevel=false;
00088         }
00089         return true;
00090 }

Generated on Wed Jul 29 16:35:28 2009 for creaMaracasVisu_lib by  doxygen 1.5.3