wxVtk3DBaseView.cxx

Go to the documentation of this file.
00001 #include "wxVtk3DBaseView.h"
00002 
00003 #include "vtkInteractorStyleBaseView3D.h"
00004 
00005 
00006 wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent)
00007 :wxVtkBaseView( parent )
00008 {
00009         _configure      = false;
00010         _aRenderer      = NULL;
00011         _renWin         = NULL;
00012         _aCamera        = NULL;
00013 }
00014 //-------------------------------------------------------------------
00015 wxVtk3DBaseView::~wxVtk3DBaseView()
00016 {
00017 
00018         if (_aCamera!=NULL)     { _aCamera              -> Delete(); _aCamera=NULL;}
00019         if (_aRenderer!=NULL)   { _aRenderer    -> Delete(); _aRenderer=NULL;}
00020         if (_renWin!=NULL)      { 
00021                 if(_renWin->GetReferenceCount()==0){
00022                         _renWin         -> Delete(); _renWin=NULL;
00023                 }
00024         }
00025 }
00026 //-------------------------------------------------------------------
00027 vtkCamera* wxVtk3DBaseView::GetCamera()
00028 {
00029         return _aCamera;
00030 }
00031 //-------------------------------------------------------------------
00032 vtkRenderer* wxVtk3DBaseView::GetRenderer()  // virtual
00033 {
00034         return _aRenderer;
00035 }
00036 //-------------------------------------------------------------------
00037 vtkRenderWindow* wxVtk3DBaseView::GetRenWin()  // virtual
00038 {
00039         return _renWin;
00040 }
00041 //-------------------------------------------------------------------
00042 void wxVtk3DBaseView::Refresh()
00043 {
00044 //      _renWin->Render();
00045         vtkRenderWindowInteractor *vri = GetWxVTKRenderWindowInteractor();
00046         vri->vtkRenderWindowInteractor::Render();
00047 }
00048 //-------------------------------------------------------------------
00049 void wxVtk3DBaseView::Configure()
00050 {
00051         //printf("EED wxVtk3DBaseView::Configure A\n");
00052         if (_configure==false)
00053         {
00054         //printf("EED wxVtk3DBaseView::Configure B\n");
00055                 _configure=true;
00056                 //wxVtkBaseView::Configure();
00057                 _aRenderer      = vtkRenderer::New();
00058                 _renWin         = vtkRenderWindow::New();
00059                 _renWin->AddRenderer(_aRenderer);
00060 
00061                 _aRenderer->GradientBackgroundOn();
00062                 _aRenderer->SetBackground( 0.33 , 0.33 , 0.33 );
00063                 _aRenderer->SetBackground2( 0.66 , 0.66 , 0.66 );
00064                 
00065                 
00066 //       _renWin->SetStereoCapableWindow(1);
00067 // //      //renderwindow->SetStereoTypeToCrystalEyes();  
00068 //       _renWin->SetStereoTypeToRedBlue();
00069 //       _renWin->SetStereoRender(1);
00070 
00071                 GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
00072 
00073                 vtkInteractorStyleBaseView3D *interactorStyleBaseView3D = vtkInteractorStyleBaseView3D::New(); 
00074 
00075                 SetInteractorStyleBaseView( interactorStyleBaseView3D );
00076                 interactorStyleBaseView3D->SetInteractor (  GetWxVTKRenderWindowInteractor() );
00077                 GetWxVTKRenderWindowInteractor()->SetInteractorStyle( interactorStyleBaseView3D );
00078                 interactorStyleBaseView3D->SetwxVtkBaseView(this);      
00079 
00080                 // It is convenient to create an initial view of the data. The
00081                 // FocalPoint and Position form a vector direction. Later on
00082                 // (ResetCamera() method) this vector is used to position the camera
00083                 // to look at the data in this direction.
00084                 _aCamera = vtkCamera::New();
00085 
00086 //EED 17Avril2009       
00087 /*
00088                 _aCamera->SetViewUp (0, 0, -1);
00089                 _aCamera->SetPosition (0, 1, 0);
00090  */
00091                 _aCamera->SetViewUp (0, 1, 0);
00092                 _aCamera->SetPosition (0, 0, 1);
00093                 
00094                 _aCamera->SetFocalPoint (0, 0, 0);
00095                 _aCamera->ComputeViewPlaneNormal();
00096 
00097         }
00098 }
00099 //-------------------------------------------------------------------
00100 //EED 27 sep 2006
00101 void wxVtk3DBaseView::GetSpacing(double spc[3])
00102 {
00103         spc[0]=1;
00104         spc[1]=1;
00105         spc[2]=1;
00106 }
00107 

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1