X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=packages%2Fwxvtk%2Fsrc%2FbbwxvtkViewer3D.cxx;h=73b75560c5fc8131f6fc8625a2ce5a4fc9404284;hb=cdded8fbd6963f715bb7ef07dd75fade7b91f2e8;hp=48abcec6987bef81071d641ccecc4f6c2328b9bf;hpb=0278e44db6547b325fe00f4ffc5a9cabac5a8534;p=bbtk.git diff --git a/packages/wxvtk/src/bbwxvtkViewer3D.cxx b/packages/wxvtk/src/bbwxvtkViewer3D.cxx index 48abcec..73b7556 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/26 18:45:58 $ - Version: $Revision: 1.8 $ + Date: $Date: 2008/12/03 13:35:35 $ + 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 @@ -97,7 +97,7 @@ namespace bbwxvtk //------------------------------------------------------------------------- void Viewer3DWidget::Update() { - wxvtkrenderwindowinteractor->Update(); + // wxvtkrenderwindowinteractor->Update(); wxvtkrenderwindowinteractor->Render(); renderer->ResetCameraClippingRange(); } @@ -147,12 +147,14 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect ) bbSetInputStereo(false); bbSetOutputRenderer( NULL ); bbSetOutputInteractor( NULL ); + bbSetOutputWidget(NULL); } void Viewer3D::Process() { - ((Viewer3DWidget*)bbGetOutputWidget())->Update(); + Viewer3DWidget* w = (Viewer3DWidget*)bbGetOutputWidget(); + if (w) w->Update(); } @@ -161,11 +163,13 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect ) * * */ - void Viewer3D::CreateWidget() + void Viewer3D::CreateWidget(wxWindow* parent) { bbtkDebugMessageInc("Core",9,"Viewer3D::CreateWidget()"<Update(); @@ -204,13 +208,18 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect ) vtkRenderer *renderer = w->GetRenderer(); if (renderer!=NULL) { + bbSetOutputRenderer( renderer ); + 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(); - bbSetOutputRenderer( renderer ); + double bounds[6]; + renderer->ComputeVisiblePropBounds(bounds); + renderer->ResetCameraClippingRange(bounds); + } bbSetOutputWidget(w); @@ -221,9 +230,10 @@ void Viewer3DWidget::Refresh(bool eraseBackground , const wxRect* rect ) // This callback is necessary to get actual processing of the view // when window is shown - void Viewer3D::bbUserOnShow() + void Viewer3D::OnShowWidget() { - ((Viewer3DWidget*)bbGetOutputWidget())->Update(); + // Viewer3DWidget* w = (Viewer3DWidget*)bbGetOutputWidget(); + // if (w) w->Update(); }