From: Eduardo Davila Date: Thu, 26 Jun 2008 18:45:58 +0000 (+0000) Subject: Viewer2D Viewer3D Linux X-Git-Tag: r0.6.1~6 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=0278e44db6547b325fe00f4ffc5a9cabac5a8534;p=bbtk.git Viewer2D Viewer3D Linux --- diff --git a/kernel/src/bbtkWxBlackBox.cxx b/kernel/src/bbtkWxBlackBox.cxx index 8f52302..e436c1c 100644 --- a/kernel/src/bbtkWxBlackBox.cxx +++ b/kernel/src/bbtkWxBlackBox.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxBlackBox.cxx,v $ Language: C++ - Date: $Date: 2008/06/26 07:37:04 $ - Version: $Revision: 1.21 $ + Date: $Date: 2008/06/26 18:45:58 $ + Version: $Revision: 1.22 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -230,9 +230,14 @@ namespace bbtk // This Update is ** MANDATORY ** // to synchronize wxvtkRenderWindowInteractor objects // (force wx objects creation **NOW**) - wxFrame::Refresh(); - wxFrame::Update(); - wxFrame::SetFocus(); + + +#if defined(_WIN32) + wxFrame::Refresh(); +#endif + + wxFrame::Update(); + wxFrame::SetFocus(); if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow(); } //========================================================================= diff --git a/packages/vtk/bbs/appli/ExampleGaussianSmooth.bbs b/packages/vtk/bbs/appli/ExampleGaussianSmooth.bbs index b23f662..184c964 100644 --- a/packages/vtk/bbs/appli/ExampleGaussianSmooth.bbs +++ b/packages/vtk/bbs/appli/ExampleGaussianSmooth.bbs @@ -1,5 +1,5 @@ print "=== GaussianSmooth box example ===" -description "GaussianSmooth box example. Screenshot : " +description "GaussianSmooth box example. Screenshot : " author "eduardo.davila at creatis.insa-lyon.fr" category "example" diff --git a/packages/vtk/bbs/appli/ExampleGaussianSmooth_02.bbs b/packages/vtk/bbs/appli/ExampleGaussianSmooth_02.bbs index 20fbc6b..9402349 100644 --- a/packages/vtk/bbs/appli/ExampleGaussianSmooth_02.bbs +++ b/packages/vtk/bbs/appli/ExampleGaussianSmooth_02.bbs @@ -1,5 +1,5 @@ print "=== GaussianSmooth_02 box example ===" -description "GaussianSmooth Save box. Screenshot : " +description "GaussianSmooth Save box. Screenshot : " author "eduardo.davila at creatis.insa-lyon.fr" category "example" diff --git a/packages/wxvtk/src/bbwxvtkViewer2D.cxx b/packages/wxvtk/src/bbwxvtkViewer2D.cxx index 6cf9588..e695801 100644 --- a/packages/wxvtk/src/bbwxvtkViewer2D.cxx +++ b/packages/wxvtk/src/bbwxvtkViewer2D.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxvtkViewer2D.cxx,v $ Language: C++ - Date: $Date: 2008/06/26 07:37:18 $ - Version: $Revision: 1.12 $ + Date: $Date: 2008/06/26 18:45:58 $ + Version: $Revision: 1.13 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -88,7 +88,13 @@ namespace bbwxvtk panel -> SetSizer(sizer); panel -> SetAutoLayout(true); panel -> Layout(); - + + + wxvtkrenderwindowinteractor->Refresh(); + wxvtkrenderwindowinteractor->Render(); + imageViewer->GetRenderer()->ResetCameraClippingRange(); + + } //------------------------------------------------------------------------- @@ -187,6 +193,10 @@ namespace bbwxvtk if (zext[5]) { z=ext[5]; } + wxvtkrenderwindowinteractor->Update(); + wxvtkrenderwindowinteractor->Render(); + imageViewer->GetRenderer()->ResetCameraClippingRange(); + #if (VTK_MAJOR_VERSION >= 5) imageViewer->SetSlice( z ); @@ -195,10 +205,7 @@ namespace bbwxvtk #endif //imageViewer->UpdateDisplayExtent(); - // wxvtkrenderwindowinteractor->Render(); - imageViewer->GetRenderer()->ResetCameraClippingRange(); - } - + } } @@ -262,9 +269,12 @@ namespace bbwxvtk // when window is shown void Viewer2D::bbUserOnShow() { - ((Viewer2DWidget*)bbGetOutputWidget())->Refresh(); + +#if defined(_WIN32) +// ((Viewer2DWidget*)bbGetOutputWidget())->Refresh(); ((Viewer2DWidget*)bbGetOutputWidget())->Update(); ((Viewer2DWidget*)bbGetOutputWidget())->UpdateView(); +#endif } diff --git a/packages/wxvtk/src/bbwxvtkViewer3D.cxx b/packages/wxvtk/src/bbwxvtkViewer3D.cxx index bb2d693..48abcec 100644 --- a/packages/wxvtk/src/bbwxvtkViewer3D.cxx +++ b/packages/wxvtk/src/bbwxvtkViewer3D.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxvtkViewer3D.cxx,v $ Language: C++ - Date: $Date: 2008/06/10 19:19:55 $ - Version: $Revision: 1.7 $ + Date: $Date: 2008/06/26 18:45:58 $ + Version: $Revision: 1.8 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -97,7 +97,9 @@ namespace bbwxvtk //------------------------------------------------------------------------- void Viewer3DWidget::Update() { + wxvtkrenderwindowinteractor->Update(); wxvtkrenderwindowinteractor->Render(); + renderer->ResetCameraClippingRange(); } //------------------------------------------------------------------------- @@ -115,6 +117,13 @@ namespace bbwxvtk } //------------------------------------------------------------------------- +void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect ) +{ +// wxPanel::Refresh(false,rect); +} + + + //-------------------------------------------------------------------------- //------------------------------------------------------------------------- //-------------------------------------------------------------------------- @@ -210,6 +219,13 @@ namespace bbwxvtk } + // This callback is necessary to get actual processing of the view + // when window is shown + void Viewer3D::bbUserOnShow() + { + ((Viewer3DWidget*)bbGetOutputWidget())->Update(); + } + }//namespace bbwxvtk diff --git a/packages/wxvtk/src/bbwxvtkViewer3D.h b/packages/wxvtk/src/bbwxvtkViewer3D.h index edb8963..754bed8 100644 --- a/packages/wxvtk/src/bbwxvtkViewer3D.h +++ b/packages/wxvtk/src/bbwxvtkViewer3D.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbwxvtkViewer3D.h,v $ Language: C++ - Date: $Date: 2008/06/10 19:19:55 $ - Version: $Revision: 1.7 $ + Date: $Date: 2008/06/26 18:45:58 $ + Version: $Revision: 1.8 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -60,6 +60,8 @@ namespace bbwxvtk void Update(); vtkRenderer *GetRenderer(); wxVTKRenderWindowInteractor * GetInteractor(); + virtual void Refresh(bool eraseBackground = true, const wxRect* rect = NULL); + private: Viewer3D *mBox; vtkRenderer *renderer; @@ -92,6 +94,7 @@ namespace bbwxvtk void Process(); BBTK_CREATE_WIDGET(CreateWidget); void CreateWidget(); + void bbUserOnShow(); protected: virtual void bbUserConstructor(); diff --git a/packages/wxvtk/src/wxVTKRenderWindowInteractor.cxx b/packages/wxvtk/src/wxVTKRenderWindowInteractor.cxx index 17b39bd..6c33bf3 100644 --- a/packages/wxvtk/src/wxVTKRenderWindowInteractor.cxx +++ b/packages/wxvtk/src/wxVTKRenderWindowInteractor.cxx @@ -3,8 +3,8 @@ Program: Visualization Toolkit Module: $RCSfile: wxVTKRenderWindowInteractor.cxx,v $ Language: C++ - Date: $Date: 2008/05/09 10:39:47 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/06/26 18:45:58 $ + Version: $Revision: 1.3 $ Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. @@ -735,6 +735,12 @@ void wxVTKRenderWindowInteractor::PrintSelf(ostream& os, vtkIndent indent) } +void wxVTKRenderWindowInteractor::Refresh(bool eraseBackground , const wxRect* rect ) +{ +// wxWindow::Refresh(false,rect); +} + + #if defined(_WIN32) const char * wxVTKRenderWindowInteractor::GetClassName() const { @@ -742,6 +748,8 @@ const char * wxVTKRenderWindowInteractor::GetClassName() const } #endif //_WIN32 + + } // LG : EO namespace bbwxvtk //======================================================================= diff --git a/packages/wxvtk/src/wxVTKRenderWindowInteractor.h b/packages/wxvtk/src/wxVTKRenderWindowInteractor.h index 7443bce..7567a69 100644 --- a/packages/wxvtk/src/wxVTKRenderWindowInteractor.h +++ b/packages/wxvtk/src/wxVTKRenderWindowInteractor.h @@ -3,8 +3,8 @@ Program: Visualization Toolkit Module: $RCSfile: wxVTKRenderWindowInteractor.h,v $ Language: C++ - Date: $Date: 2008/03/03 13:14:28 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/06/26 18:45:58 $ + Version: $Revision: 1.2 $ Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. @@ -164,6 +164,8 @@ class /*VTK_RENDERING_EXPORT*/ wxVTKRenderWindowInteractor : public wxWindow, vi vtkSetMacro(UseCaptureMouse,int); vtkBooleanMacro(UseCaptureMouse,int); + virtual void Refresh(bool eraseBackground = true, const wxRect* rect = NULL); + protected: wxTimer timer; int ActiveButton;