]> Creatis software - bbtk.git/blobdiff - packages/wxvtk/src/bbwxvtkViewer2D.cxx
*** empty log message ***
[bbtk.git] / packages / wxvtk / src / bbwxvtkViewer2D.cxx
index bfd066f277843e2b840cac91b4ed7401041937d9..f9e1e1326f7c6c3f0b9a95bc3738f78e7ce2547b 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer2D.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/06/25 15:36:19 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2008/07/03 13:59:37 $
+  Version:   $Revision: 1.15 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -54,13 +54,13 @@ namespace bbwxvtk
     wxvtkrenderwindowinteractor->UseCaptureMouseOn();  
 
     imageViewer        = vtkImageViewer2::New();
-       imageViewer->SetSlice( 1 );
+    imageViewer->SetSlice( 1 );
     imageViewer->SetupInteractor ( wxvtkrenderwindowinteractor );
     
     mDefaultImage = vtkImageData::New();
     int dim[3];
     dim[0] = dim[1] = 32 ; 
-       dim[2] = 2; 
+    dim[2] = 2; 
     mDefaultImage->SetDimensions ( dim );
     mDefaultImage->SetSpacing(1,1,1);
     mDefaultImage->SetExtent(0,dim[0]-1,0,dim[1]-1,0,dim[2]-1);
@@ -84,11 +84,17 @@ namespace bbwxvtk
     mUpdateCamera = true;
 
     wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
-    sizer      -> Add( wxvtkrenderwindowinteractor , 1, wxEXPAND, 0);
-    panel      -> SetSizer(sizer);
-    panel      -> SetAutoLayout(true);
-    panel      -> Layout();
-    
+    sizer-> Add( wxvtkrenderwindowinteractor , 1, wxEXPAND, 0);
+    panel-> SetSizer(sizer);
+    panel-> SetAutoLayout(true);
+    panel-> Layout();
+
+
+    wxvtkrenderwindowinteractor->Refresh();
+    wxvtkrenderwindowinteractor->Render();
+    imageViewer->GetRenderer()->ResetCameraClippingRange();
+
+  
   }
   //-------------------------------------------------------------------------
   
@@ -153,9 +159,9 @@ namespace bbwxvtk
        
        vtkCamera *camera = imageViewer->GetRenderer()->GetActiveCamera();
 
-       camera->SetViewUp ( spx*0, -spy*1, spz*0 );
-       camera->SetPosition( spx*(x1+x2)/2, spy*(y1+y2)/2, -spz*10000000 ); 
-       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0 ); 
+       camera->SetViewUp    ( spx*0,         -spy*1,        spz*0 );
+       camera->SetPosition  ( spx*(x1+x2)/2, spy*(y1+y2)/2, -spz*10000000 ); 
+       camera->SetFocalPoint( spx*(x1+x2)/2, spy*(y1+y2)/2, spz*0 ); 
 
        camera->ComputeViewPlaneNormal();
        camera->SetParallelScale(  spx*(x2-x1)/2.0 );
@@ -165,8 +171,8 @@ namespace bbwxvtk
       }
   
     //  std::cout << "OW = "<< mBox->bbGetWindow() << std::endl;
-    //    std::cout << "CW = "<< mBox->bbGetContainingWindow() << std::endl;
-    //    std::cout << "Sh = "<< mBox->bbIsShown() << std::endl;
+    //  std::cout << "CW = "<< mBox->bbGetContainingWindow() << std::endl;
+    //  std::cout << "Sh = "<< mBox->bbIsShown() << std::endl;
     
 
 
@@ -177,28 +183,29 @@ namespace bbwxvtk
        (backImageData!=NULL)&&
        (mBox->bbIsShown()))
     {
-       int z = mBox->bbGetInputSlice();
-       //      std::cout << "slice = "<<z<<std::endl;
-       int ext[6];
-       backImageData->GetWholeExtent(ext);
+               int z = mBox->bbGetInputSlice();
+               //      std::cout << "slice = "<<z<<std::endl;
+               int ext[6];
+               backImageData->GetWholeExtent(ext);
 
-       //      std::cout << "ext = "<<ext[4]<<" - "<<ext[5]<<std::endl;
+               //      std::cout << "ext = "<<ext[4]<<" - "<<ext[5]<<std::endl;
 
-       if (z<ext[4]) { z=ext[4]; }
-       if (z>ext[5]) { z=ext[5]; }
+               if (z<ext[4]) { z=ext[4]; }
+               if (z>ext[5]) { z=ext[5]; }
 
+               wxvtkrenderwindowinteractor->Update();
+               wxvtkrenderwindowinteractor->Render();
+               imageViewer->GetRenderer()->ResetCameraClippingRange();
 
-#if (VTK_MAJOR_VERSION >= 5)
-       imageViewer->SetSlice( z );
-#else
-       imageViewer->SetZSlice( z );
-#endif
 
-       //imageViewer->UpdateDisplayExtent();
-    wxvtkrenderwindowinteractor->Render();
-    imageViewer->GetRenderer()->ResetCameraClippingRange();
-  }
+       #if (VTK_MAJOR_VERSION >= 5)
+               imageViewer->SetSlice( z );
+       #else
+               imageViewer->SetZSlice( z );
+       #endif
 
+               //imageViewer->UpdateDisplayExtent();
+  } 
 
 
 }
@@ -231,7 +238,7 @@ namespace bbwxvtk
 
     ((Viewer2DWidget*)bbGetOutputWidget())->UpdateView();
     bbSetOutputOut( bbGetInputSlice() );
-       bbSetOutputRenderer( ((Viewer2DWidget*)bbGetOutputWidget())->GetRenderer() );
+    bbSetOutputRenderer( ((Viewer2DWidget*)bbGetOutputWidget())->GetRenderer() );
        
   }
   
@@ -262,7 +269,16 @@ namespace bbwxvtk
   // when window is shown
   void  Viewer2D::bbUserOnShow()
   {
+
+#if defined(_WIN32)
+//    ((Viewer2DWidget*)bbGetOutputWidget())->Refresh();
+    ((Viewer2DWidget*)bbGetOutputWidget())->Update();
+    ((Viewer2DWidget*)bbGetOutputWidget())->UpdateView();
+#endif
+    /*
+    ((Viewer2DWidget*)bbGetOutputWidget())->Update();
     ((Viewer2DWidget*)bbGetOutputWidget())->UpdateView();
+    */
   }