]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk3DBaseView.cxx
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxVtk3DBaseView.cxx
index ffb634b00944cfca2d1c7e567b5e6e2321b70b25..ecfae840fe818c084eaeddc62614cd2546649cb2 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,25 +50,37 @@ 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();
 //       _renWin->SetStereoRender(1);
 
-               GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
+//EED 19/10/2011 OK  EED stereo 
+//             _renWin->SetStereoCapableWindow(1);
+//             _renWin->SetAnaglyphColorMask(4,3);
+//             _renWin->SetAnaglyphColorSaturation(0.65);
+//             _renWin->SetStereoTypeToAnaglyph();         // OK 1.
+//             _renWin->SetStereoRender(1);
+               printf("EED wxVtk3DBaseView::Configure  test Stereo ...\n");
+               
 
+               GetWxVTKRenderWindowInteractor()->SetRenderWindow(_renWin);
 
-// EED Borrame
-//             vtkInteractorStyle3DMaracas *interactorStyle3DMaracas = vtkInteractorStyle3DMaracas::New(); 
                vtkInteractorStyleBaseView3D *interactorStyleBaseView3D = vtkInteractorStyleBaseView3D::New(); 
 
                SetInteractorStyleBaseView( interactorStyleBaseView3D );
@@ -69,12 +88,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
@@ -101,4 +114,5 @@ void wxVtk3DBaseView::GetSpacing(double spc[3])
        spc[0]=1;
        spc[1]=1;
        spc[2]=1;
-}
\ No newline at end of file
+}
+