1 #include "vtkInteractorManualPaint.h"
3 #include "wxVtk2DBaseView.h"
4 #include "wxVTKRenderWindowInteractor.h"
6 vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc) {
7 _manualPaintControler = mpc;
13 //---------------------------------------------------------------------------
14 vtkInteractorManualPaint::~vtkInteractorManualPaint() {
17 //---------------------------------------------------------------------------
18 bool vtkInteractorManualPaint::OnChar() {
19 vtkRenderWindowInteractor *interactor =
20 _vtkInteractorStyleBaseView->GetInteractor();
22 if (interactor->GetKeyCode() == 97) {
23 _stateKey = !_stateKey;
28 //---------------------------------------------------------------------------
29 bool vtkInteractorManualPaint::OnLeftButtonDown() {
30 vtkRenderWindowInteractor *interactor =
31 _vtkInteractorStyleBaseView->GetInteractor();
32 if (interactor->GetControlKey() == 1) {
34 // wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
35 // _Z = wxvtk2Dbaseview->GetActualSlice();
40 //---------------------------------------------------------------------------
41 bool vtkInteractorManualPaint::OnLeftButtonUp() {
42 if((_state == true) || (_stateKey == true))
43 _manualPaintControler->SetImageUndo();
48 //---------------------------------------------------------------------------
49 bool vtkInteractorManualPaint::OnMouseMove() {
50 if ((_state == true) || (_stateKey == true)) {
51 wxVtk2DBaseView *wxvtk2Dbaseview =
52 (wxVtk2DBaseView*) _vtkInteractorStyleBaseView->GetWxVtk2DBaseView();
53 wxVTKRenderWindowInteractor *wxVTKiren =
54 wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor();
56 wxVTKiren->GetEventPosition(px, py);
59 double X = (double) px;
60 double Y = (double) py;
61 double Z = wxvtk2Dbaseview->GetActualSlice();
62 // wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true, typeView);
63 wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z, true);
65 _manualPaintControler->PaintImage((int) X, (int) Y, (int) Z);
66 this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
69 wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified();
70 wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->Modified();
71 wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->SetDisplayExtent(0, 50+_auxZ, 0, 50,_Z, _Z );
72 wxvtk2Dbaseview->Refresh();
73 wxvtk2Dbaseview->RefreshView();
74 // wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ);
76 wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render();
77 this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();