X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkInteractorStyleBaseView.cxx;h=3a1918bb45bdce8289ebb1ba84e02d8a3ac6cd73;hb=65c158dc171f8d3114ee3544b2a94a1f41880df0;hp=8cfed905075af35b7b3587986b68642d6637117c;hpb=b9d9021717d8036639d4e934f0392d2bc7e3fd3f;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx index 8cfed90..3a1918b 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView.cxx @@ -131,16 +131,13 @@ void vtkInteractorStyleBaseView::CallLstInteractorStyleMaracas(int type) for (i=0;iGetActive()==true){ -printf("EED %p vtkInteractorStyleBaseView C i=%d size=%d sizeLst%d\n", this, i, size, _lstInteractorStyleMaracas.size() ); if (type ==1) { // OnRightButtonDown if (intStyMar->OnRightButtonDown()==false) @@ -239,25 +236,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) @@ -331,9 +330,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() @@ -346,3 +352,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); +}