vtkInteractorStyleMPRView.cxx
Go to the documentation of this file.00001 #include "vtkInteractorStyleMPRView.h"
00002
00003 #include "wxVtkMPR2DView.h"
00004
00005 vtkInteractorStyleMPRView::vtkInteractorStyleMPRView()
00006 {
00007 _stateMoveAxisX = false;
00008 _stateMoveAxisY = false;
00009 _stateMoveAxisZ = false;
00010 }
00011
00012 vtkInteractorStyleMPRView::~vtkInteractorStyleMPRView()
00013 {
00014 }
00015
00016
00017
00018 bool vtkInteractorStyleMPRView::OnLeftDClick ()
00019 {
00020 wxVtkMPR2DView *wxvtkmpr2Dview = (wxVtkMPR2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
00021 double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0];
00022 double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
00023 double z = 1;
00024 _vtkInteractorStyleBaseView->TransformCoordinate(x,y,z);
00025 wxvtkmpr2Dview->MoveX(x,y,z);
00026 wxvtkmpr2Dview->MoveY(x,y,z);
00027 wxvtkmpr2Dview->MoveZ(x,y,z);
00028 wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121);
00029 wxvtkmpr2Dview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1);
00030 wxCommandEvent newevent2(wxEVT_COMMAND_MENU_SELECTED,12122);
00031 wxvtkmpr2Dview->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent2);
00032
00033 return true;
00034 }
00035
00036 bool vtkInteractorStyleMPRView::OnLeftButtonDown ()
00037 {
00038 wxVtkMPR2DView *wxvtkmpr2Dview = (wxVtkMPR2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
00039 double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0];
00040 double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
00041 double z = 1;
00042
00043
00044 _vtkInteractorStyleBaseView->TransformCoordinate(x,y,z);
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062 _stateMoveAxisX = wxvtkmpr2Dview->IfMouseTouchX(x,y,z);
00063 _stateMoveAxisY = wxvtkmpr2Dview->IfMouseTouchY(x,y,z);
00064 _stateMoveAxisZ = wxvtkmpr2Dview->IfMouseTouchZ(x,y,z);
00065
00066 return true;
00067 }
00068
00069 bool vtkInteractorStyleMPRView::OnLeftButtonUp ()
00070 {
00071 if (_stateMoveAxisX==true)
00072 {
00073 _stateMoveAxisX=false;
00074 }
00075 if (_stateMoveAxisY==true)
00076 {
00077 _stateMoveAxisY=false;
00078 }
00079 if (_stateMoveAxisZ==true)
00080 {
00081 _stateMoveAxisZ=false;
00082 }
00083 return true;
00084 }
00085
00086 bool vtkInteractorStyleMPRView::OnMouseMove ()
00087 {
00088 double x = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0];
00089 double y = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
00090
00091 double z=1;
00092 _vtkInteractorStyleBaseView->TransformCoordinate(x,y,z);
00093 wxVtkMPR2DView *wxvtkmpr2Dview = (wxVtkMPR2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
00094
00095
00096 wxvtkmpr2Dview->ChangeAxisColor(x,y,z);
00097
00098 if ((_stateMoveAxisX==true) || (_stateMoveAxisY==true) || (_stateMoveAxisZ==true) )
00099 {
00100 if (_stateMoveAxisX==true)
00101 {
00102 wxvtkmpr2Dview-> MoveX(x,y,z);
00103 }
00104 if (_stateMoveAxisY==true)
00105 {
00106 wxvtkmpr2Dview->MoveY(x,y,z);
00107 }
00108 if (_stateMoveAxisZ==true)
00109 {
00110 wxvtkmpr2Dview->MoveZ(x,y,z);
00111 }
00112
00113 this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
00114 }
00115 return true;
00116 }
00117