1 /*=========================================================================
4 Module: $RCSfile: bbkwViewer3D.cxx,v $
6 Date: $Date: 2008/12/16 12:48:08 $
7 Version: $Revision: 1.1 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
24 #ifdef _USE_WXWIDGETS_
27 #include "bbkwViewer3D.h"
28 #include "bbkwPackage.h"
30 #include "vtkKWRenderWidget.h"
35 BBTK_ADD_BLACK_BOX_TO_PACKAGE(kw,kwViewer3D);
36 BBTK_BLACK_BOX_IMPLEMENTATION(kwViewer3D,bbtk::KWBlackBox);
38 void kwViewer3D::bbUserConstructor()
50 bbSetOutputWidget(NULL);
53 void kwViewer3D::bbUserDestructor()
56 vtkKWRenderWidget* w = (vtkKWRenderWidget*)bbGetOutputWidget();
64 void kwViewer3D::Process()
66 vtkKWRenderWidget* w = (vtkKWRenderWidget*)bbGetOutputWidget();
69 if ( (bbGetInputIn1()!=NULL) &&
70 (bbGetInputStatus("In1")!=bbtk::UPTODATE))
72 w->AddViewProp(bbGetInputIn1());
74 if ( (bbGetInputIn2()!=NULL) &&
75 (bbGetInputStatus("In2")!=bbtk::UPTODATE))
77 w->AddViewProp(bbGetInputIn2());
79 if ( (bbGetInputIn3()!=NULL) &&
80 (bbGetInputStatus("In3")!=bbtk::UPTODATE))
82 w->AddViewProp(bbGetInputIn3());
84 if ( (bbGetInputIn4()!=NULL) &&
85 (bbGetInputStatus("In4")!=bbtk::UPTODATE))
87 w->AddViewProp(bbGetInputIn4());
89 if ( (bbGetInputIn5()!=NULL) &&
90 (bbGetInputStatus("In5")!=bbtk::UPTODATE))
92 w->AddViewProp(bbGetInputIn5());
100 void kwViewer3D::CreateWidget(vtkKWFrame* parent)
102 vtkKWRenderWidget *w = vtkKWRenderWidget::New();
103 bbSetOutputWidget(w);
104 w->SetParent((vtkKWWidget*)parent);
106 w->SetRenderModeToInteractive();
111 vtkRenderWindowInteractor *interactor = w->GetInteractor();
112 if (interactor!=NULL)
114 if (bbGetInputObs1()!=NULL)
116 bbGetInputObs1()->SetInteractor(interactor);
117 bbGetInputObs1()->EnabledOn();
119 if (bbGetInputObs2()!=NULL)
121 bbGetInputObs2()->SetInteractor(interactor);
122 bbGetInputObs2()->EnabledOn();
124 if (bbGetInputObs3()!=NULL)
126 bbGetInputObs3()->SetInteractor(interactor);
127 bbGetInputObs3()->EnabledOn();
129 if (bbGetInputObs4()!=NULL)
131 bbGetInputObs4()->SetInteractor(interactor);
132 bbGetInputObs4()->EnabledOn();
134 if (bbGetInputObs5()!=NULL)
136 bbGetInputObs5()->SetInteractor(interactor);
137 bbGetInputObs5()->EnabledOn();
139 bbSetOutputInteractor( w->GetInteractor() );