]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk3DBaseView.cxx
creaButtonContainer: exceptions added, doxygen documentation added :)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxVtk3DBaseView.cxx
index 4af3bfd28f614fc45f25784088748d0fe461d519..f0f23f93aadd16245861a610aa91109beb737cf0 100644 (file)
@@ -2,7 +2,9 @@
 
 #include "vtkInteractorStyleBaseView3D.h"
 
-
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
 wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent)
 :wxVtkBaseView( parent )
 {
@@ -14,9 +16,14 @@ wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent)
 //-------------------------------------------------------------------
 wxVtk3DBaseView::~wxVtk3DBaseView()
 {
-       if (_aCamera!=NULL)     { _aCamera              -> Delete(); }
-       if (_aRenderer!=NULL)   { _aRenderer    -> Delete(); }
-       if (_renWin!=NULL)      { _renWin               -> Delete(); }
+
+       if (_aCamera!=NULL)     { _aCamera              -> Delete(); _aCamera=NULL;}
+       if (_aRenderer!=NULL)   { _aRenderer    -> Delete(); _aRenderer=NULL;}
+       if (_renWin!=NULL)      { 
+               if(_renWin->GetReferenceCount()==0){
+                       _renWin         -> Delete(); _renWin=NULL;
+               }
+       }
 }
 //-------------------------------------------------------------------
 vtkCamera* wxVtk3DBaseView::GetCamera()
@@ -43,15 +50,21 @@ void wxVtk3DBaseView::Refresh()
 //-------------------------------------------------------------------
 void wxVtk3DBaseView::Configure()
 {
+       //printf("EED wxVtk3DBaseView::Configure A\n");
        if (_configure==false)
        {
+       //printf("EED wxVtk3DBaseView::Configure B\n");
                _configure=true;
                //wxVtkBaseView::Configure();
                _aRenderer      = vtkRenderer::New();
                _renWin         = vtkRenderWindow::New();
                _renWin->AddRenderer(_aRenderer);
 
-
+               _aRenderer->GradientBackgroundOn();
+               _aRenderer->SetBackground( 0.33 , 0.33 , 0.33 );
+               _aRenderer->SetBackground2( 0.66 , 0.66 , 0.66 );
+               
+               
 //       _renWin->SetStereoCapableWindow(1);
 // //      //renderwindow->SetStereoTypeToCrystalEyes();  
 //       _renWin->SetStereoTypeToRedBlue();
@@ -59,9 +72,6 @@ void wxVtk3DBaseView::Configure()
 
                GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
 
-
-// EED Borrame
-//             vtkInteractorStyle3DMaracas *interactorStyle3DMaracas = vtkInteractorStyle3DMaracas::New(); 
                vtkInteractorStyleBaseView3D *interactorStyleBaseView3D = vtkInteractorStyleBaseView3D::New(); 
 
                SetInteractorStyleBaseView( interactorStyleBaseView3D );
@@ -69,12 +79,6 @@ void wxVtk3DBaseView::Configure()
                GetWxVTKRenderWindowInteractor()->SetInteractorStyle( interactorStyleBaseView3D );
                interactorStyleBaseView3D->SetwxVtkBaseView(this);      
 
-
-/* EED Borrame
-  vtkInteractorStyleSwitch *iss = dynamic_cast<vtkInteractorStyleSwitch*>(_iren->GetInteractorStyle());
-  iss->SetCurrentStyleToTrackballCamera();
-*/
-
                // It is convenient to create an initial view of the data. The
                // FocalPoint and Position form a vector direction. Later on
                // (ResetCamera() method) this vector is used to position the camera