1 #include "wxVtk3DBaseView.h"
3 #include "vtkInteractorStyleBaseView3D.h"
6 wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent)
7 :wxVtkBaseView( parent )
14 //-------------------------------------------------------------------
15 wxVtk3DBaseView::~wxVtk3DBaseView()
17 if (_aCamera!=NULL) { _aCamera -> Delete(); }
18 if (_aRenderer!=NULL) { _aRenderer -> Delete(); }
19 if (_renWin!=NULL) { _renWin -> Delete(); }
21 //-------------------------------------------------------------------
22 vtkCamera* wxVtk3DBaseView::GetCamera()
26 //-------------------------------------------------------------------
27 vtkRenderer* wxVtk3DBaseView::GetRenderer() // virtual
31 //-------------------------------------------------------------------
32 vtkRenderWindow* wxVtk3DBaseView::GetRenWin() // virtual
36 //-------------------------------------------------------------------
37 void wxVtk3DBaseView::Refresh()
40 vtkRenderWindowInteractor *vri = GetWxVTKRenderWindowInteractor();
41 vri->vtkRenderWindowInteractor::Render();
43 //-------------------------------------------------------------------
44 void wxVtk3DBaseView::Configure()
46 if (_configure==false)
49 //wxVtkBaseView::Configure();
50 _aRenderer = vtkRenderer::New();
51 _renWin = vtkRenderWindow::New();
52 _renWin->AddRenderer(_aRenderer);
54 _aRenderer->GradientBackgroundOn();
55 _aRenderer->SetBackground( 0.33 , 0.33 , 0.33 );
56 _aRenderer->SetBackground2( 0.66 , 0.66 , 0.66 );
59 // _renWin->SetStereoCapableWindow(1);
60 // // //renderwindow->SetStereoTypeToCrystalEyes();
61 // _renWin->SetStereoTypeToRedBlue();
62 // _renWin->SetStereoRender(1);
64 GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
68 // vtkInteractorStyle3DMaracas *interactorStyle3DMaracas = vtkInteractorStyle3DMaracas::New();
69 vtkInteractorStyleBaseView3D *interactorStyleBaseView3D = vtkInteractorStyleBaseView3D::New();
71 SetInteractorStyleBaseView( interactorStyleBaseView3D );
72 interactorStyleBaseView3D->SetInteractor ( GetWxVTKRenderWindowInteractor() );
73 GetWxVTKRenderWindowInteractor()->SetInteractorStyle( interactorStyleBaseView3D );
74 interactorStyleBaseView3D->SetwxVtkBaseView(this);
78 vtkInteractorStyleSwitch *iss = dynamic_cast<vtkInteractorStyleSwitch*>(_iren->GetInteractorStyle());
79 iss->SetCurrentStyleToTrackballCamera();
82 // It is convenient to create an initial view of the data. The
83 // FocalPoint and Position form a vector direction. Later on
84 // (ResetCamera() method) this vector is used to position the camera
85 // to look at the data in this direction.
86 _aCamera = vtkCamera::New();
90 _aCamera->SetViewUp (0, 0, -1);
91 _aCamera->SetPosition (0, 1, 0);
93 _aCamera->SetViewUp (0, 1, 0);
94 _aCamera->SetPosition (0, 0, 1);
96 _aCamera->SetFocalPoint (0, 0, 0);
97 _aCamera->ComputeViewPlaneNormal();
101 //-------------------------------------------------------------------
103 void wxVtk3DBaseView::GetSpacing(double spc[3])