X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkInteractorStyleBaseView.cxx;h=89aee7044a585291e338a9306db000adccbc0f12;hb=eb653a89f177ee41fda8720ec32bfbf3aa57255e;hp=fd8fa4c6e79967859dadefe381e4b8cf39a52d50;hpb=581e566e84a6829d8494e117728d195b0f078db1;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx index fd8fa4c..89aee70 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx @@ -17,6 +17,9 @@ vtkInteractorStyleBaseView::vtkInteractorStyleBaseView() _refresh_waiting = false; _parent_refresh_waiting = false; _blockRefresh = false; + + //EED27Juillet2011 + SetMouseWheelMotionFactor(0.5); } //--------------------------------------------------------------------------- vtkInteractorStyleBaseView::~vtkInteractorStyleBaseView() @@ -76,10 +79,28 @@ void vtkInteractorStyleBaseView::OnRightDClick() // virtual CallLstInteractorStyleMaracas( 12 ); } //--------------------------------------------------------------------------- +//EED27Juillet2011 void vtkInteractorStyleBaseView::OnMouseWheel() // virtual { + printf("EED vtkInteractorStyleBaseView::OnMouseWheel\n"); CallLstInteractorStyleMaracas( 14 ); } + +void vtkInteractorStyleBaseView::OnMouseWheelForward() // virtual +{ + printf("EED.. vtkInteractorStyleBaseView::OnMouseWheelForward\n"); + CallLstInteractorStyleMaracas( 15 ); +} + +void vtkInteractorStyleBaseView::OnMouseWheelBackward() // virtual +{ + printf("EED.. vtkInteractorStyleBaseView::OnMouseWheelBackward\n"); + CallLstInteractorStyleMaracas( 16 ); +} + + + + //--------------------------------------------------------------------------- void vtkInteractorStyleBaseView::AddInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas) { @@ -131,7 +152,7 @@ void vtkInteractorStyleBaseView::CallLstInteractorStyleMaracas(int type) for (i=0;iOnMouseWheel()==false) @@ -222,6 +245,22 @@ void vtkInteractorStyleBaseView::CallLstInteractorStyleMaracas(int type) i=size; } } + if (type==15) + { // OnMouseWheelForward + if (intStyMar->OnMouseWheelForward()==false) + { + i=size; + } + } + if (type==16) + { // OnMouseWheelBackward + if (intStyMar->OnMouseWheelBackward()==false) + { + i=size; + } + } + + } // if active } // for @@ -236,25 +275,27 @@ void vtkInteractorStyleBaseView::OnChar() // virtual //--------------------------------------------------------------------------- void vtkInteractorStyleBaseView::TransformCoordinate(double &X, double &Y, double &Z) { - vtkImageViewer2 *imageViewer = ((wxVtk2DBaseView*)GetWxVtk2DBaseView())->_imageViewer2XYZ->GetVtkImageViewer2(); + if(((wxVtk2DBaseView*)GetWxVtk2DBaseView())->_imageViewer2XYZ){ + vtkImageViewer2 *imageViewer = ((wxVtk2DBaseView*)GetWxVtk2DBaseView())->_imageViewer2XYZ->GetVtkImageViewer2(); - imageViewer->GetRenderer()->SetDisplayPoint((int)X, (int)Y, (int)Z); - imageViewer->GetRenderer()->DisplayToWorld(); - double fP[4]; - imageViewer->GetRenderer()->GetWorldPoint( fP ); + imageViewer->GetRenderer()->SetDisplayPoint((int)X, (int)Y, (int)Z); + imageViewer->GetRenderer()->DisplayToWorld(); + double fP[4]; + imageViewer->GetRenderer()->GetWorldPoint( fP ); - if ( fP[3] ){ - fP[0] /= fP[3]; - fP[1] /= fP[3]; - fP[2] /= fP[3]; - } + if ( fP[3] ){ + fP[0] /= fP[3]; + fP[1] /= fP[3]; + fP[2] /= fP[3]; + } -// EEDx5 - ((wxVtk2DBaseView*)GetWxVtk2DBaseView())->TransformCoordinate_spacing_ViewToModel(fP[0],fP[1],fP[2]); + // EEDx5 + ((wxVtk2DBaseView*)GetWxVtk2DBaseView())->TransformCoordinate_spacing_ViewToModel(fP[0],fP[1],fP[2]); - X=fP[0]; - Y=fP[1]; - Z=fP[2]; + X=fP[0]; + Y=fP[1]; + Z=fP[2]; + } } //--------------------------------------------------------------------------- void vtkInteractorStyleBaseView::SetwxVtkBaseView(wxVtkBaseView *wxvtkbaseview) @@ -328,9 +369,16 @@ void vtkInteractorStyleBaseView::EvaluateToRefresh() { _parent_refresh_waiting = false; wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh +//CPR 13/01/2010 this->_wxvtkbaseview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - } - } + int i; + int size = _lstParentToReport.size(); + for(i = 0; iProcessEvent(newevent1); + }//for + }//if + }//if _blockRefresh } //--------------------------------------------------------------------------- void vtkInteractorStyleBaseView::BlockRefresh() @@ -343,3 +391,18 @@ void vtkInteractorStyleBaseView::UnBlockRefresh() _blockRefresh=false; } +wxEvtHandler* vtkInteractorStyleBaseView::GetParentToReport(int i) +{ + wxEvtHandler* parentToReport = NULL; + if(i>=0 && i<_lstParentToReport.size()) + { + parentToReport = _lstParentToReport[i]; + } + return parentToReport; + +} + +void vtkInteractorStyleBaseView::AddParentToReport(wxEvtHandler* parentToReport) +{ + _lstParentToReport.push_back(parentToReport); +}