_refresh_waiting = false;
_parent_refresh_waiting = false;
_blockRefresh = false;
+
+ //EED27Juillet2011
+ SetMouseWheelMotionFactor(0.5);
}
//---------------------------------------------------------------------------
vtkInteractorStyleBaseView::~vtkInteractorStyleBaseView()
{
CallLstInteractorStyleMaracas( 12 );
}
-//---------------------------------------------------------------------------
-void vtkInteractorStyleBaseView::OnMouseWheel() // virtual
+
+
+void vtkInteractorStyleBaseView::OnMouseWheelForward() // virtual
+{
+ CallLstInteractorStyleMaracas( 15 );
+}
+
+void vtkInteractorStyleBaseView::OnMouseWheelBackward() // virtual
{
- CallLstInteractorStyleMaracas( 14 );
+ CallLstInteractorStyleMaracas( 16 );
}
+
+
+
+
//---------------------------------------------------------------------------
void vtkInteractorStyleBaseView::AddInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas)
{
{
_lstInteractorStyleMaracas.erase(iter);
removed = true;
+ } else {
+ iter++;
}
- iter++;
}
}
//---------------------------------------------------------------------------
for (i=0;i<size;i++)
{
- intStyMar = _lstInteractorStyleMaracas[i];
- if (intStyMar->GetActive()==true){
+ if (i < (int)_lstInteractorStyleMaracas.size() )
+ {
+ intStyMar = _lstInteractorStyleMaracas[i];
+ } else {
+ intStyMar=NULL;
+ }
+ if (intStyMar!=NULL && intStyMar->GetActive()==true){
if (type ==1)
{ // OnRightButtonDown
if (intStyMar->OnRightButtonDown()==false)
i=size;
}
}
- if (type==14)
- { // OnMouseWheel
- if (intStyMar->OnMouseWheel()==false)
+ // 14 ... old OnMouseWheelFordward
+ if (type==15)
+ { // OnMouseWheelForward
+ if (intStyMar->OnMouseWheelForward()==false)
{
i=size;
}
}
+ if (type==16)
+ { // OnMouseWheelBackward
+ if (intStyMar->OnMouseWheelBackward()==false)
+ {
+ i=size;
+ }
+ }
+
+
} // if active
} // for
//---------------------------------------------------------------------------
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)
{
_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; i<size; i++)
+ {
+ _lstParentToReport[i]->ProcessEvent(newevent1);
+ }//for
+ }//if
+ }//if _blockRefresh
}
//---------------------------------------------------------------------------
void vtkInteractorStyleBaseView::BlockRefresh()
_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);
+}