]> Creatis software - bbtk.git/blobdiff - packages/wxvtk/src/bbwxvtkViewer3D.cxx
no message
[bbtk.git] / packages / wxvtk / src / bbwxvtkViewer3D.cxx
index 6d1537f8a2cb852f862ca38b6920cc9ff2730070..8ef685a6b811615353f30c5729318ae49bf88c54 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer3D.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/05/28 08:12:18 $
-  Version:   $Revision: 1.17 $
+  Date:      $Date: 2011/05/05 16:07:19 $
+  Version:   $Revision: 1.21 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -53,8 +53,18 @@ namespace bbwxvtk
 
    if (stereo==true){
       renderwindow->SetStereoCapableWindow(1);
-      //renderwindow->SetStereoTypeToCrystalEyes();  
-      renderwindow->SetStereoTypeToRedBlue();
+          
+//      renderwindow->SetStereoTypeToCrystalEyes();  
+//      renderwindow->SetStereoTypeToRedBlue();         // OK 2.
+          
+          renderwindow->SetAnaglyphColorMask(4,3);
+          renderwindow->SetAnaglyphColorSaturation(0.65);
+          renderwindow->SetStereoTypeToAnaglyph();         // OK 1.
+          
+//        renderwindow->SetStereoTypeToInterlaced();      // ??
+//        renderwindow->SetStereoTypeToCheckerboard();
+//        renderwindow->SetStereoTypeToDresden();
+               
       renderwindow->SetStereoRender(1);
    }
 
@@ -210,6 +220,7 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
        //--------------------------------------------------------------------------
   void Viewer3D::Process() 
   { 
+         
     if (!bbIsShown()) return;
 //EED    
 //       Viewer3DWidget* w = (Viewer3DWidget*)bbGetOutputWidget();
@@ -224,6 +235,7 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
                  vtkRenderWindowInteractor *interactor = w->GetInteractor();
                  if (interactor!=NULL)
                  {
+
                          if (bbGetInputObs1()!=NULL) 
                          {
                                  bbGetInputObs1()->SetInteractor(interactor);
@@ -257,7 +269,7 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
                  {
                          bbSetOutputRenderer( renderer );
                          
-                         if (bbGetInputIn1()!=NULL) {renderer->AddActor( bbGetInputIn1() ); }
+                         /*if (bbGetInputIn1()!=NULL) {renderer->AddActor( bbGetInputIn1() ); }
                          if (bbGetInputIn2()!=NULL) {renderer->AddActor( bbGetInputIn2() ); }
                          if (bbGetInputIn3()!=NULL) {renderer->AddActor( bbGetInputIn3() ); }
                          if (bbGetInputIn4()!=NULL) {renderer->AddActor( bbGetInputIn4() ); }
@@ -265,13 +277,27 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect )
                          renderer->ResetCamera();
                          double bounds[6];
                          renderer->ComputeVisiblePropBounds(bounds);
-                         renderer->ResetCameraClippingRange(bounds);
+                         renderer->ResetCameraClippingRange(bounds);*/
                          
                  } // renderer
                  
                                  
          } // w && firsttime
 
+         if(bbGetOutputRenderer()!=NULL){
+                  vtkRenderer *renderer = w->GetRenderer();
+                 if (bbGetInputIn1()!=NULL) {renderer->AddActor( bbGetInputIn1() ); }
+                 if (bbGetInputIn2()!=NULL) {renderer->AddActor( bbGetInputIn2() ); }
+                 if (bbGetInputIn3()!=NULL) {renderer->AddActor( bbGetInputIn3() ); }
+                 if (bbGetInputIn4()!=NULL) {renderer->AddActor( bbGetInputIn4() ); }
+                 if (bbGetInputIn5()!=NULL) {renderer->AddActor( bbGetInputIn5() ); }
+                 renderer->ResetCamera();
+                 double bounds[6];
+                 renderer->ComputeVisiblePropBounds(bounds);
+                 renderer->ResetCameraClippingRange(bounds);
+
+         }
+
          if (w!=NULL)   w->Update();
 
   }