3 //#include "vtkInteractorStyleBaseView.h"
5 #include "wxVtkBaseView.h"
6 #include "wxVtk2DBaseView.h"
7 #include "wxVTKRenderWindowInteractorPlus.h"
11 wxVtkBaseView::wxVtkBaseView()
15 _interactorStyle = NULL;
18 //-------------------------------------------------------------------
20 wxVtkBaseView::wxVtkBaseView(wxWindow *parent)
23 _iren = (wxVTKRenderWindowInteractor*)new wxVTKRenderWindowInteractorPlus(_parent,this);
24 // _iren->UseCaptureMouseOn();
25 // _iren = new wxVTKRenderWindowInteractor(_parent,-1);
26 _interactorStyle = NULL;
29 //-------------------------------------------------------------------
30 wxVtkBaseView::~wxVtkBaseView()
35 //-------------------------------------------------------------------
36 wxVTKRenderWindowInteractor* wxVtkBaseView::GetWxVTKRenderWindowInteractor() throw (char*)
40 throw "wxVtkBaseView::GetWxVTKRenderWindowInteractor() _iren wxVTKRenderWindowInteractorPlus =NULL";
44 //-------------------------------------------------------------------
45 void wxVtkBaseView::Configure() // virtual
48 //-------------------------------------------------------------------
49 void wxVtkBaseView::Refresh() // virtual
54 _iren->Refresh(false);
59 vtkRenderWindowInteractor *vri = GetWxVTKRenderWindowInteractor();
60 vri->vtkRenderWindowInteractor::Render();
67 //-------------------------------------------------------------------
68 void wxVtkBaseView::RefreshView() // virtual
70 printf("EED wxVtkBaseView::RefreshView() \n");
74 GetRenWin()->Render();
76 //GetRenWin()->Render();
80 //---------------------------------------------------------------------------
81 vtkRenderer* wxVtkBaseView::GetRenderer() // virtual
85 //---------------------------------------------------------------------------
86 vtkRenderWindow* wxVtkBaseView::GetRenWin() // virtual
88 return _iren->GetRenderWindow();
91 //----------------------------------------------------------------------------
93 void wxVtkBaseView::TransCoordScreenToWorld(double &X, double &Y, double &Z, int type)
95 GetRenderer()->SetDisplayPoint((int)X, (int)Y, (int)Z);
96 GetRenderer()->DisplayToWorld();
98 GetRenderer()->GetWorldPoint( fP );
118 //----------------------------------------------------------------------------
120 void wxVtkBaseView::TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool keepNormalDirection, int type) //virtual //keepNormalDirection=false, type=2
127 TransCoordScreenToWorld(xx,yy,zz,type);
135 vtkInteractorStyleBaseView* interactorstyle = (vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView();
136 wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)interactorstyle->GetWxVtk2DBaseView();
143 baseview->TransformCoordinate_spacing_ViewToModel( fP[0] , fP[1] , fP[2] );
160 //---------------------------------------------------------------------------
162 vtkInteractorStyleBaseView* wxVtkBaseView::GetInteractorStyleBaseView()
164 return _interactorStyle;
167 vtkInteractorStyleImage* wxVtkBaseView::GetInteractorStyleBaseView()
169 return _interactorStyle;
172 //---------------------------------------------------------------------------
174 void wxVtkBaseView::SetInteractorStyleBaseView( vtkInteractorStyleImage* interactorStyle)
176 _interactorStyle = interactorStyle;
179 //---------------------------------------------------------------------------
181 void wxVtkBaseView::GetSpacing(double spc[3]) // virtual
188 //-------------------------------------------------------------------
189 //-------------------------------------------------------------------
190 //-------------------------------------------------------------------