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
73 GetRenWin()->Render();
75 //GetRenWin()->Render();
79 //---------------------------------------------------------------------------
80 vtkRenderer* wxVtkBaseView::GetRenderer() // virtual
84 //---------------------------------------------------------------------------
85 vtkRenderWindow* wxVtkBaseView::GetRenWin() // virtual
87 return _iren->GetRenderWindow();
90 //----------------------------------------------------------------------------
92 void wxVtkBaseView::TransCoordScreenToWorld(double &X, double &Y, double &Z, int type)
94 GetRenderer()->SetDisplayPoint((int)X, (int)Y, (int)Z);
95 GetRenderer()->DisplayToWorld();
97 GetRenderer()->GetWorldPoint( fP );
117 //----------------------------------------------------------------------------
119 void wxVtkBaseView::TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool keepNormalDirection, int type) //virtual //keepNormalDirection=false, type=2
126 TransCoordScreenToWorld(xx,yy,zz,type);
134 vtkInteractorStyleBaseView* interactorstyle = (vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView();
135 wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)interactorstyle->GetWxVtk2DBaseView();
142 baseview->TransformCoordinate_spacing_ViewToModel( fP[0] , fP[1] , fP[2] );
159 //---------------------------------------------------------------------------
161 vtkInteractorStyleBaseView* wxVtkBaseView::GetInteractorStyleBaseView()
163 return _interactorStyle;
166 vtkInteractorStyleImage* wxVtkBaseView::GetInteractorStyleBaseView()
168 return _interactorStyle;
171 //---------------------------------------------------------------------------
173 void wxVtkBaseView::SetInteractorStyleBaseView( vtkInteractorStyleImage* interactorStyle)
175 _interactorStyle = interactorStyle;
178 //---------------------------------------------------------------------------
180 void wxVtkBaseView::GetSpacing(double spc[3]) // virtual
187 //-------------------------------------------------------------------
188 //-------------------------------------------------------------------
189 //-------------------------------------------------------------------