]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp
no message
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / vtkInteractorManualPaint.cpp
index 0a9a18f6a5437500e9990ed4dba371ff30594a70..4d9a6201b069fe15d09906492e7eb88e81e7eb66 100644 (file)
@@ -10,7 +10,7 @@ vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc)
 {
     _manualPaintControler   = mpc;
        _state                  = false;
-//     _auxZ   =   0;
+       _stateKey               = false;
 }
 
 //---------------------------------------------------------------------------
@@ -19,9 +19,21 @@ vtkInteractorManualPaint::~vtkInteractorManualPaint()
 }
 
 //---------------------------------------------------------------------------
-bool vtkInteractorManualPaint::OnLeftButtonDown()
+bool vtkInteractorManualPaint::OnChar()
 {
        vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor();
+       
+       if  (interactor->GetKeyCode()==97)
+       {
+               _stateKey=!_stateKey;
+       }
+       return true;
+}
+       
+//---------------------------------------------------------------------------
+bool vtkInteractorManualPaint::OnLeftButtonDown()
+{
+       vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor();   
        if ( interactor->GetControlKey()==1 ){
         _state  =   true;
 //        wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
@@ -40,23 +52,22 @@ bool vtkInteractorManualPaint::OnLeftButtonUp()
 //---------------------------------------------------------------------------
 bool vtkInteractorManualPaint::OnMouseMove ()
 {
-       if (_state==true)
+       if ((_state==true) || (_stateKey==true))
        {
         wxVtk2DBaseView             *wxvtk2Dbaseview    = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
         wxVTKRenderWindowInteractor *wxVTKiren          = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor();
         int px,py;
         wxVTKiren->GetEventPosition(px,py);
 
-        int     typeView = 2;
+//        int     typeView = 1;
         double  X        = (double)px;
         double  Y        = (double)py;
         double  Z        =  wxvtk2Dbaseview->GetActualSlice();
-        wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,false, typeView);
-
-//        int px = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0];
-//        int py = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
+//        wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true, typeView);
+        wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true);
 
         _manualPaintControler->PaintImage((int)X,(int)Y,(int)Z);
+        this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
 
 /*
         wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified();