#include "vtkInteractorStyleMPRView.h" #include "wxVtkMPR2DView.h" vtkInteractorStyleMPRView::vtkInteractorStyleMPRView() { _stateMoveAxisX = false; _stateMoveAxisY = false; _stateMoveAxisZ = false; } //--------------------------------------------------------------------------- vtkInteractorStyleMPRView::~vtkInteractorStyleMPRView() { } //--------------------------------------------------------------------------- bool vtkInteractorStyleMPRView::OnLeftDClick () // virtual { wxVtkMPR2DView *wxvtkmpr2Dview = (wxVtkMPR2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; double z = 1; _vtkInteractorStyleBaseView->TransformCoordinate(x,y,z); wxvtkmpr2Dview->MoveX(x,y,z); wxvtkmpr2Dview->MoveY(x,y,z); wxvtkmpr2Dview->MoveZ(x,y,z); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh wxvtkmpr2Dview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); wxCommandEvent newevent2(wxEVT_COMMAND_MENU_SELECTED,12122); // Doble click wxvtkmpr2Dview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent2); return true; } //--------------------------------------------------------------------------- bool vtkInteractorStyleMPRView::OnLeftButtonDown () { wxVtkMPR2DView *wxvtkmpr2Dview = (wxVtkMPR2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; double z = 1; //double xx = x; // JPRx //double yy = y; // JPRx _vtkInteractorStyleBaseView->TransformCoordinate(x,y,z); /*EED Borrame if ((_xBack==xx) && (_yBack==yy)) { wxvtkmpr2Dview->MoveX(x,y,z); wxvtkmpr2Dview->MoveY(x,y,z); wxvtkmpr2Dview->MoveZ(x,y,z); wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh wxvtkmpr2Dview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); wxCommandEvent newevent2(wxEVT_COMMAND_MENU_SELECTED,12122); // Doble click wxvtkmpr2Dview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent2); } _xBack=xx; _yBack=yy; */ _stateMoveAxisX = wxvtkmpr2Dview->IfMouseTouchX(x,y,z); _stateMoveAxisY = wxvtkmpr2Dview->IfMouseTouchY(x,y,z); _stateMoveAxisZ = wxvtkmpr2Dview->IfMouseTouchZ(x,y,z); return true; } //--------------------------------------------------------------------------- bool vtkInteractorStyleMPRView::OnLeftButtonUp () { if (_stateMoveAxisX==true) { _stateMoveAxisX=false; } if (_stateMoveAxisY==true) { _stateMoveAxisY=false; } if (_stateMoveAxisZ==true) { _stateMoveAxisZ=false; } return true; } //--------------------------------------------------------------------------- bool vtkInteractorStyleMPRView::OnMouseMove () { double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; double z=1; _vtkInteractorStyleBaseView->TransformCoordinate(x,y,z); wxVtkMPR2DView *wxvtkmpr2Dview = (wxVtkMPR2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); // wxvtkmpr2Dview->TransfromCoordViewWorld(x,y,z); wxvtkmpr2Dview->ChangeAxisColor(x,y,z); if ((_stateMoveAxisX==true) || (_stateMoveAxisY==true) || (_stateMoveAxisZ==true) ) { if (_stateMoveAxisX==true) { wxvtkmpr2Dview-> MoveX(x,y,z); } if (_stateMoveAxisY==true) { wxvtkmpr2Dview->MoveY(x,y,z); } if (_stateMoveAxisZ==true) { wxvtkmpr2Dview->MoveZ(x,y,z); } this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); } return true; }