00001 00002 00003 #include "vtkInteractorStylePlane2D.h" 00004 #include "vtkPlane2DView.h" 00005 00006 vtkInteractorStylePlane2D::vtkInteractorStylePlane2D() 00007 { 00008 _stateRotate=false; 00009 } 00010 //--------------------------------------------------------------------------- 00011 vtkInteractorStylePlane2D::~vtkInteractorStylePlane2D() 00012 { 00013 } 00014 00015 //--------------------------------------------------------------------------- 00016 bool vtkInteractorStylePlane2D::GetStateRotate() 00017 { 00018 return _stateRotate; 00019 } 00020 00021 //--------------------------------------------------------------------------- 00022 bool vtkInteractorStylePlane2D::OnLeftButtonDown() // vitual 00023 { 00024 _stateRotate = true; 00025 _fordwareX = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; 00026 _fordwareY = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; 00027 vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); 00028 vtkplane2Dview->RotationStart(); 00029 00030 return true; 00031 } 00032 00033 //--------------------------------------------------------------------------- 00034 bool vtkInteractorStylePlane2D::OnLeftButtonUp() // virtual 00035 { 00036 if (_stateRotate==true) 00037 { 00038 _stateRotate = false; 00039 vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); 00040 vtkplane2Dview->ResetBack(); 00041 // this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); 00042 } 00043 00044 return true; 00045 } 00046 00047 //--------------------------------------------------------------------------- 00048 bool vtkInteractorStylePlane2D::OnRightButtonUp() // virtual 00049 { 00050 if (_stateRotate==true){ 00051 //vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); // JPRx 00052 00053 // EED Borrame 00054 // vtkplane2Dview->RotationEnd(); 00055 00056 _stateRotate = false; 00057 } 00058 00059 return true; 00060 } 00061 //--------------------------------------------------------------------------- 00062 bool vtkInteractorStylePlane2D::OnMouseMove () // virtual 00063 { 00064 bool ok_v, ok_ang; 00065 if (_stateRotate==true){ 00066 ok_v=false; 00067 ok_ang=false; 00068 if (_vtkInteractorStyleBaseView->GetInteractor()->GetControlKey()==1) 00069 { 00070 ok_v=true; 00071 } 00072 if (_vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey()==1) 00073 { 00074 ok_ang=true; 00075 } 00076 int fx = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; 00077 int fy = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; 00078 vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); 00079 vtkplane2Dview->RotationDrag( fx - _fordwareX , fy - _fordwareY , ok_v , ok_ang); 00080 this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); 00081 } 00082 return true; 00083 } 00084 //------------------------------------------------------------------- 00085 bool vtkInteractorStylePlane2D::OnLeftDClick() // virtual 00086 { 00087 int fx = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[0]; 00088 int fy = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1]; 00089 double xx=fx; 00090 double yy=fy; 00091 double zz=0; 00092 00093 vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()); 00094 vtkMPRBaseData *vtkmprbasedata = vtkplane2Dview->GetVtkmprbasedata(); 00095 00096 vtkplane2Dview->TransfromCoordViewWorld2(xx,yy,zz); 00097 00098 vtkmprbasedata->SetX( xx ); 00099 vtkmprbasedata->SetY( yy ); 00100 vtkmprbasedata->SetZ( zz ); 00101 this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); 00102 00103 return true; 00104 } 00105